What is an HTTP Request?

Show us your love by sharing this post.

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:

  • GET
  • HEAD
  • POST
  • PUT

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


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!

Leave a Comment

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

Join QAInsights CommunityIt's free to join, learn, and share

Learn performance testing and more

Share your expertise

Empower next generation of social learning

QAInsights Community is a social media for software testing professionals.

Join Now
New Year. New Hope. Learn TruWeb. 78% OFF for Limited Time of my Udemy course..BUY NOW
× How can I help you?