Close

January 22, 2014

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 NaveenKumar Namachivayam

Hi there! is a passionate and experienced Performance Test Analyst based in Chicago, USA with skill sets in Manual Testing, Test Automation, Performance Testing, and Test Estimation. He loves to learn and experiment new trends and models in Software Testing. Please stop by at his personal blogs: Excel Blog, DealsBrook, NaveenKumarN.in, and Affiliate Insights blog and Software Testing Memes.

Leave a Reply

Your email address will not be published. Required fields are marked *