headers in requests

Headers in Requests

Headers in requests are an essential part of the HTTP protocol as they provide vital information about the request and response messages. The headers contain metadata or information about the data being sent, such as the content type, encoding, and authentication credentials. They are used to transmit important data between the client and server.

Types of Headers

There are two types of headers: request and response headers.

  • Request Headers: These headers are sent by the client to the server to provide additional information about the request. They include information such as the type of data being sent, caching preferences, and authorization credentials.
  • Response Headers: These headers are sent by the server to the client to provide additional information about the response. They include information such as the content type, encoding, and caching preferences.

Examples of Headers

Below are some examples of request and response headers:


Request Headers:
GET / HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:119.0) Gecko/20100101 Firefox/119.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Upgrade-Insecure-Requests: 1

Response Headers:
HTTP/1.1 200 OK
Date: Mon, 23 Aug 2021 10:25:30 GMT
Server: Apache/2.4.58 (Win64) OpenSSL/1.1.1k PHP/8.0.9
Content-Language: en
Vary: Accept-Encoding,User-Agent
Content-Encoding: gzip
Content-Length: 2338
Connection: close
Content-Type: text/html; charset=UTF-8

How to Add Headers in Requests

Headers can be added to requests in several ways:

  • Using a Web Proxy: A web proxy such as Fiddler or Charles Proxy can be used to add or modify headers in requests.
  • Using a Programming Language: Headers can be added to requests using programming languages such as Python, Java, or JavaScript. Below is an example of adding a header using Python:

import requests

url = 'https://example.com'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:119.0) Gecko/20100101 Firefox/119.0'}
response = requests.get(url, headers=headers)

Here, we are adding the 'User-Agent' header to the request using the Python requests library.

In conclusion, headers in requests are an essential component of the HTTP protocol, and they provide vital information about the request and response messages. They can be added or modified using web proxies or programming languages such as Python.