<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Olaf's Thoughts About Development &#187; network logger</title>
	<atom:link href="http://www.monien.net/blog/index.php" rel="self" type="application/rss+xml" />
	<link>http://www.monien.net/blog</link>
	<description>Delphi Programming, .NET Philosophy, Web development and more ...</description>
	<lastBuildDate>Mon, 14 Mar 2011 15:59:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Tracing web applications with Fiddler or FireBug</title>
		<link>http://www.monien.net/blog/index.php/2008/08/tracing-web-applications-with-fiddler-or-firebug/</link>
		<comments>http://www.monien.net/blog/index.php/2008/08/tracing-web-applications-with-fiddler-or-firebug/#comments</comments>
		<pubDate>Thu, 28 Aug 2008 02:52:17 +0000</pubDate>
		<dc:creator>Olaf Monien</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[IntraWeb]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[fiddler]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[network logger]]></category>
		<category><![CDATA[web application]]></category>

		<guid isPermaLink="false">http://www.monien.net/blog/?p=195</guid>
		<description><![CDATA[Apparently many developers of Web sites and especially Web applications (IntraWeb, ASP.NET, PHP etc) are still not aware of existing tools to trace/debug the communication flow between Web browsers and Web server. Often, certain errors such as missing images, non working JS files etc, pop up (i.e. customer calls and says &#8220;your Web app is [...]]]></description>
			<content:encoded><![CDATA[<p>Apparently many developers of Web sites and especially Web applications (IntraWeb, ASP.NET, PHP etc) are still not aware of existing tools to trace/debug the communication flow between Web browsers and Web server.</p>
<p>Often, certain errors such as missing images, non working JS files etc, pop up (i.e. customer calls and says &#8220;your Web app is totally broken&#8221;), and its very hard to determine whats happening. You could now add logging capabilities to your Web application and try to find out whats happening. That&#8217;s not a bad idea, but often it would help more to see what&#8217;s really sent over the wire, which resources fail to load etc.</p>
<p><span id="more-195"></span></p>
<h3>Firefox: Firebug</h3>
<p>For Firefox there is <a title="Firebug" href="http://getfirebug.com/" target="_blank">Firebug</a>. Firebug is kind of a Swiss Army knife for all sorts of analyzing from within the Firefox Web browser. From JavaScript debugging, over JavaScript profiling, CSS and DOM explorer down to a network logger. For a nice introduction how to install and use Firebug <a title="Firebug introduction" href="http://www.evotech.net/blog/2007/06/introduction-to-firebug/" target="_blank">see here</a>.</p>
<p>The first thing you should always check with a faulty Web application is, if it loads all resources correctly. This can be done in the Network tab:</p>
<p><a href="http://www.monien.net/blog/wp-content/uploads/2008/08/firbugnetwork.gif"><img class="alignleft alignnone size-medium wp-image-196" style="float: left;" title="Firebug" src="http://www.monien.net/blog/wp-content/uploads/2008/08/firbugnetwork.gif" alt="" width="300" height="239" /></a>In this case the first two requests are answered by an HTTP 200 code, which means successfully loaded. The following request are all answered by HTTP 304, which means the resource has not been modified since the browser requested it last time. In other words these resources are cached.</p>
<p>Anytime there is an invalid request (wrong path, file does not extist), Firebug will mark that with an HTTP 404 response code, <span style="color: #ff0000;">highlighted in red</span>. This is very handy.</p>
<h3>Internet Explorer: Fiddler</h3>
<p>For IE there is <a title="Fiddler" href="http://www.fiddlertool.com/fiddler/" target="_blank">Fiddler</a>. Fiddler is a &#8220;debugging HTTP proxy&#8221;, which directly integrates with IE (but is not limited to). Once Fiddler is started from IE&#8217;s Tools menu, it willopen a port and automatically registers IE to use that as proxy location. (You can also register Firefox or any other browser to use that proxy) All subsequent requests will go through fiddler then, which generates well organized logs, like the following one:</p>
<p><a href="http://www.monien.net/blog/wp-content/uploads/2008/08/iefiddler.gif"><img class="alignleft size-medium wp-image-197" style="margin: 12px; float: left;" title="Fiddler" src="http://www.monien.net/blog/wp-content/uploads/2008/08/iefiddler.gif" alt="" width="300" height="173" /></a></p>
<p>This lets you drill down into the communication between your web browser and web server. For DOM or CSS inspection you would need an other tool though: <a title="Internet Developer Toolbar" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=E59C3964-672D-4511-BB3E-2D5E1DB91038" target="_blank">Internet Developer Toolbar</a>. And for JavaScript debugging you would need yet another tool: <a href="http://www.microsoft.com/visualstudio">Visual Studio</a>.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Tracing+web+applications+with+Fiddler+or+FireBug&amp;link=http://www.monien.net/blog/index.php/2008/08/tracing-web-applications-with-fiddler-or-firebug/&amp;notes=Apparently%20many%20developers%20of%20Web%20sites%20and%20especially%20Web%20applications%20%28IntraWeb%2C%20ASP.NET%2C%20PHP%20etc%29%20are%20still%20not%20aware%20of%20existing%20tools%20to%20trace%2Fdebug%20the%20communication%20flow%20between%20Web%20browsers%20and%20Web%20server.%0D%0A%0D%0AOften%2C%20certain%20errors%20such%20as%20missing%20images%2C%20non%20working%20JS%20files%20etc%2C%20pop%20up%20%28i.e&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.monien.net/blog/index.php/2008/08/tracing-web-applications-with-fiddler-or-firebug/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=Tracing+web+applications+with+Fiddler+or+FireBug&amp;link=http://www.monien.net/blog/index.php/2008/08/tracing-web-applications-with-fiddler-or-firebug/&amp;notes=Apparently%20many%20developers%20of%20Web%20sites%20and%20especially%20Web%20applications%20%28IntraWeb%2C%20ASP.NET%2C%20PHP%20etc%29%20are%20still%20not%20aware%20of%20existing%20tools%20to%20trace%2Fdebug%20the%20communication%20flow%20between%20Web%20browsers%20and%20Web%20server.%0D%0A%0D%0AOften%2C%20certain%20errors%20such%20as%20missing%20images%2C%20non%20working%20JS%20files%20etc%2C%20pop%20up%20%28i.e&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://www.shareaholic.com/api/share/?title=Tracing+web+applications+with+Fiddler+or+FireBug&amp;link=http://www.monien.net/blog/index.php/2008/08/tracing-web-applications-with-fiddler-or-firebug/&amp;notes=Apparently%20many%20developers%20of%20Web%20sites%20and%20especially%20Web%20applications%20%28IntraWeb%2C%20ASP.NET%2C%20PHP%20etc%29%20are%20still%20not%20aware%20of%20existing%20tools%20to%20trace%2Fdebug%20the%20communication%20flow%20between%20Web%20browsers%20and%20Web%20server.%0D%0A%0D%0AOften%2C%20certain%20errors%20such%20as%20missing%20images%2C%20non%20working%20JS%20files%20etc%2C%20pop%20up%20%28i.e&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=3&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.shareaholic.com/api/share/?title=Tracing+web+applications+with+Fiddler+or+FireBug&amp;link=http://www.monien.net/blog/index.php/2008/08/tracing-web-applications-with-fiddler-or-firebug/&amp;notes=Apparently%20many%20developers%20of%20Web%20sites%20and%20especially%20Web%20applications%20%28IntraWeb%2C%20ASP.NET%2C%20PHP%20etc%29%20are%20still%20not%20aware%20of%20existing%20tools%20to%20trace%2Fdebug%20the%20communication%20flow%20between%20Web%20browsers%20and%20Web%20server.%0D%0A%0D%0AOften%2C%20certain%20errors%20such%20as%20missing%20images%2C%20non%20working%20JS%20files%20etc%2C%20pop%20up%20%28i.e&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://www.shareaholic.com/api/share/?title=Tracing+web+applications+with+Fiddler+or+FireBug&amp;link=http://www.monien.net/blog/index.php/2008/08/tracing-web-applications-with-fiddler-or-firebug/&amp;notes=Apparently%20many%20developers%20of%20Web%20sites%20and%20especially%20Web%20applications%20%28IntraWeb%2C%20ASP.NET%2C%20PHP%20etc%29%20are%20still%20not%20aware%20of%20existing%20tools%20to%20trace%2Fdebug%20the%20communication%20flow%20between%20Web%20browsers%20and%20Web%20server.%0D%0A%0D%0AOften%2C%20certain%20errors%20such%20as%20missing%20images%2C%20non%20working%20JS%20files%20etc%2C%20pop%20up%20%28i.e&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-technorati">
			<a href="http://www.shareaholic.com/api/share/?title=Tracing+web+applications+with+Fiddler+or+FireBug&amp;link=http://www.monien.net/blog/index.php/2008/08/tracing-web-applications-with-fiddler-or-firebug/&amp;notes=Apparently%20many%20developers%20of%20Web%20sites%20and%20especially%20Web%20applications%20%28IntraWeb%2C%20ASP.NET%2C%20PHP%20etc%29%20are%20still%20not%20aware%20of%20existing%20tools%20to%20trace%2Fdebug%20the%20communication%20flow%20between%20Web%20browsers%20and%20Web%20server.%0D%0A%0D%0AOften%2C%20certain%20errors%20such%20as%20missing%20images%2C%20non%20working%20JS%20files%20etc%2C%20pop%20up%20%28i.e&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=10&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.monien.net/blog/index.php/2008/08/tracing-web-applications-with-fiddler-or-firebug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

