Skip to Content
Author's profile photo Brian McKellar

BSP Trouble Shooting: HTTP Browser Traces

Once I read that life would be so much easier, if only we could see the source code. I cannot confirm this, but for development it is definitely true! However, for Web development, even more important than the actual source code (HTML) is the dynamic behavior of the coding. We start nearly all problem solutions with this aspect. Standard question number one in problem solving: “Do we have an HTTP trace?”   Of course, the simplest way to make such a trace is on the server. Use transaction SMICM, menu Go To –> Trace Level. However, the ICM trace is not very easy to use. All HTTP traffic from all users is traced and the ICM trace contains many other “internal” related aspects. Both of these aspects make the trace file very frustrating to read.   The approach that we use in development is to install an HTTP proxy tool directly on our local computers. With such a tool, we can easily trace all HTTP traffic between the browser and the server.   h4. What is an HTTP Proxy?    The first question is how does an HTTP proxy work? To tell you the truth, I don’t know the gory details. So let me give you my high-level understanding, which has been enough for me :). First, let’s look at how HTTP works.  image  The HTTP protocol is a request/response protocol. Only the browser can send requests, and the server can only answer with a matching response. Often, we use the expression “HTTP request/response cycle”. It’s important that the browser can have many HTTP requests outstanding, waiting on responses from the server. Each HTTP response will always be mapped correctly to the HTTP request that started this cycle.   However, often the server is located outside a firewall and it’s not possible to communicate directly with the server. For this, companies place HTTP proxies at the firewall, with one foot inside the firewall and the other foot outside. The browser is configured to use the proxy for handling HTTP requests. This means, that instead of the browser contacting a server for each request, it contacts the proxy with the HTTP request, and waits for the proxy to return the HTTP response.  image  So we can see that the browser knows the concept of some agent that can be configured to handle all HTTP requests for it. The browser contacts the proxy and considers the work complete.   The trick is just to configure the browser to use another proxy, namely our HTTP trace proxy.  image

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member
      Hi Brian,

      Thanks for the informative blog. Do you think there is a way of preventing this URL mangling? I havea stateless app and that 302 redirect is causing me all sort of problems due to some of the features of the browser that I am trying to leverage.

      Author's profile photo Brian McKellar
      Brian McKellar
      Blog Post Author
      Just mangle the URL beforehand and use it that way. In a worst case consider to use "(====)" as mangling. Might have side effects, you should just look.