require.def("tabs/aboutTab",["domplate/domplate","domplate/tabView","core/lib","i18n!nls/harViewer"],function(b,f,g,e){with(b){b=function(){};b.prototype={id:"About",label:e.aboutTabLabel,tabHeaderTag:A({"class":"$tab.id\\Tab tab",view:"$tab.id",_repObject:"$tab"},"$tab.label",SPAN(" "),SPAN({"class":"version"},"$tab.tabView.version")),bodyTag:DIV({"class":"aboutBody"}),onUpdateBody:function(d,c){c=this.bodyTag.replace({},c);require(['text!tabs/AboutTab.html!
\r\n

HTTP Archive Viewer @VERSION@

\r\nAuthor: Jan Odvarko, odvarko@gmail.com\r\n

\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n

The purpose of this online tool is to visualize\r\n\r\n HTTP Archive (HAR)\r\nlog files (JSON) created by HTTP tracking tools. These files contain log of HTTP\r\nclient/server conversation and can be used for an additional analysis of e.g. \r\npage load performance.

\r\n\r\n

User interface of this tool is composed from the following tabs:

\r\n
    \r\n
  • Home - Paste content of a log file into the text box in this tab.
  • \r\n
  • Preview - Switch to this tab if you want to see visualised HTTP traffic.
  • \r\n
  • HAR - Use this tab to see structure of the input JSON data as an expandable tree.
  • \r\n
  • Schema - Explore format of the input log in this tab.
  • \r\n
\r\n
\r\n

Discussion Group

\r\n

Feedback: \r\n http://groups.google.com/group/http-archive-specification

\r\n

Report issue: \r\n http://code.google.com/p/harviewer/issues/list

\r\n
\r\n

Create Logs using Firebug 1.5

\r\nOne of the tools you can use to log data transfered over HTTP protocol\r\nis Firebug. To do this you have to also install Firebug extension\r\ncalled NetExport.\r\n\r\n

Recommended configurations:

\r\n\r\n
\r\n

HTTP Archive Specification

\r\n

Required\r\n\r\nstructure of the input HTTP Archive file (*.har) is described using\r\nJSON Schema.\r\nYou can explore the current schema definition within the Shema\r\ntab on this page.

\r\n
\r\n

Request Timing Fields

\r\n

Part of the HTTP log is also a timing info about network request executions.\r\nHere is a description of individual request/response phases:

\r\n
    \r\n
  • Blocking - Time spent in a queue waiting for a network connection.
  • \r\n
  • DNS Lookup - DNS resolution time. The time required to resolve a host name.
  • \r\n
  • Connecting - Time required to create TCP connection.
  • \r\n
  • Sending - Time required to send HTTP request to the server.
  • \r\n
  • Waiting - Waiting for a response from the server.
  • \r\n
  • Receiving - Time required to read entire response from the server (or cache).
  • \r\n
\r\n
\r\n

Online Log Files

\r\n

HAR Viewer also support JSONP and so it\'s possible to load log files \r\nfrom differet domains. This allows to link your online logs and preview them\r\nautomaticaly within the viewer. See live\r\nexample.\r\n

\r\n\r\n

1. The Content of a *.har file must be enclosed within a callback function:

\r\nonInputData({ "log": { ... } })\r\n\r\n

2. The link displaying a *.har file (using this viewer) must specify URL of\r\nthe file in inputUrl parameter:

\r\nhttp://www.softwareishard.com/har/viewer/?inputUrl=http://www.example.com/netData.har\r\n\r\n

3. A custom name of the callback function can be specified in a callback parameter\r\n(by default it\'s onInputData):

\r\nhttp://www.softwareishard.com/har/viewer/?inputUrl=http://www.example.com/netData.har&callback=onInputData\r\n

\r\n
\r\n
\r\n'], function(a){a=a.replace("@VERSION@",d.version,"g");a=a.replace("@HAR_SPEC_URL@",d.harSpecURL,"g");c.innerHTML=a})}};return b}});