Understanding HTTP and how these headers control behavior of web-based applications can lead to better end-user performance, as well as making it easier to choose an application acceleration solution that addresses the shortcomings of HTTP and browser-based solutions.
F5 White Paper
The Fundamentals of HTTP
Understanding HTTP and how these headers control behavior of web-based applications can lead to better end-user performance, as well as making it easier to choose an application acceleration solution that addresses the shortcomings of HTTP and browser-based solutions.
By Patrick Chang Systems Architect - Acceleration Solutionsand Lori Mac Vittie Technical Marketing Manager, Application ServicesWhite Paper The Fundamentals of HTTP
Contents
GETting a Web Page 3
HTTP Headers 5
Cookies 6
Meta Tags 7
Conclusion 7
2White Paper The Fundamentals of HTTP
HTTP (Hypertext Transfer Protocol) is one of the most ubiquitous protocols on the Internet. It is also one of the few protocols that bridges the gap between networking and application development groups, containing information that is used by both in the delivery and development of web-based applications.
The inner workings of HTTP, particularly the headers used by the client and the server to exchange information regarding state and capabilities, often have an impact on the performance of web-based applications. Understanding HTTP and how these headers control behavior of web-based applications can lead to better end-user performance, as well as making it easier to choose an application acceleration solution that addresses the shortcomings of HTTP and browser-based solutions.
TCP controls many GETting a Web Page performance-related When you open up a browser and request a web page (either by setting a default aspects of web applications page or by entering a Uniform Resource Locater or URL), the first thing that and is often not happens is that the browser relies upon the operating system to resolve the host name in the URL to an IP address. Normally this is done via a DNS (Domain Name manageable by developers System) query over UDP (User Datagram Protocol) on port 53. However, if the host or network administrators. is listed in the local hosts file, the operating system will not make a DNS query. Affecting performance by
When the IP address is obtained, the browser will attempt to open a TCP modifying TCP parameters (Transmission Control Protocol) connection to the web server, usually on port 80. may require the assistance Once the TCP connection is made, the browser will issue an HTTP request to the of application delivery server using the connection. The request comprises a header section, and possibly controllers or web a body section (this is where things like POST data go). Once the request is sent, acceleration solutions, or the browser will wait for the response. When the web server has assembled the response, it is sent back to the browser for rendering. changing settings in the operating system itself.The base request comprises a method, the URI (Uniform Resource Indicator) of the web page or resource being requested, and the HTTP version desired (1.0 or 1.1). The method may be one of: n GETn POSTn PUTn DELETEn HEAD
33White Paper The Fundamentals of HTTP
GET and POST are almost universally supported by web servers, with the difference between them being the way in which query parameters are represented. With the GET method, all query parameters are part of the URI. This restricts the length of the parameters because a URI is generally limited to a set number of characters. Conversely, all parameters are included within the body of the request when using the POST method and there is usually no limit on the length of the body. PUT and DELETE, though considered important for emerging technology architectures such as REST (Representational State Transfer), are considered potentially dangerous as they enable the user to modify resources on the web server. These methods are generally disabled on web servers and not supported by modern web browsers.
The HTTP response consists of a header section and a body. The header section tells Modern browsers render the browser how to treat the body content and the browser renders the content for content as it is retrieved, viewing. Each HTTP response includes a status code, which indicates the status of known as progressive the request. The most commmon status codes are: rendering, except in the n 200 OK. This indicates success case of Internet Explorer n 304 Not Modified. This shows that the resource in question has not changed (IE) and ... [download for more]