What is an HTTP Request?

In performance testing, it is much important to understand about HTTP request and response. In this blog post, we will see about HTTP request and its anatomy.

Each HTTP request consists of following sections: Request Line, Request Headers, An Empty Line, and Request Body which is optional. Request line and headers must all end with <CR><LF> carriage return. Empty line must end with <CR><LF> and no whitespace. In  HTTP/1.1 protocol, all headers except Host are optional.

Request Line

Request line begins with a method token, followed by the request URI (Uniform Resource Identifier) and the protocol version.

Following are the request methods:

  • OPTIONS
  • GET
  • HEAD
  • POST
  • PUT
  • DELETE
  • TRACE
  • CONNECT

Request URI

Request URI identifies which resource needs to be requested.

Protocol Version

After declaring the request method and URI, you need to mention the protocol version. Following is the example of a request line.

GET http://www.mywebsite.com/index.html HTTP/1.1

 

Request Headers

Request headers will be used to pass additional information to the server. Information such as

  •  Accept
  • Accept-Charset
  • Accept-Encoding
  • Accept-Language
  • Authorization
  • Expect
  • From
  • Host
  • If-Match
  • If-Modified-Since
  • If-None-Match
  • If-Range
  • If-Unmodified-Since
  • Max-Forwards
  • Proxy-Authorization
  • Range
  • Referer
  • TE
  • User-Agent

E.g.

Connection: keep-alive
Accept-Language: en-US
Accept: image/jpeg, image/gif, image/pjpeg, application/x-ms-application, application/xaml+xml, application/x-ms-xbap, */*
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; InfoPath.3)
Accept-Encoding: gzip, deflate
Host: www.example.com

During performance testing, you may need to parameterize GET and POST methods. It is not just username, passwords, order numbers etc. you need to correlate the session ids, random numbers etc.

Please Sign up for our free newsletter and support us!

About the Author

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Hamster - Launch JMeter Recent Test Plans SwiftlyDownload for free
+
Share via
Copy link