Parameters are one of the essential components of the HTTP protocol, which is an optional entity but can be used in combination for various purposes. In this chapter, you will learn about the various parameters of HTTP protocols, their syntax, and how they can be used for communication.



What Is HTTP Parameter?

When the HTTP method is used to request certain resources from the web server, the client also sends some parameters to the web server. These parameters are in a pair of names and their corresponding values, which are called HTTP parameters.

HTTP Parameter Types

HTTP parameters are of the following type:
  • HTTP Version
  • Uniform Resource Identifier (URI)
  • Date and Time Format
  • Character Set
  • Media Types
  • Language Tag

Let us now discuss each of them in detail.

HTTP Version

HTTP makes use of the "<major>.<minor>" numbering system for designating the version of the protocol. This protocol's versioning policy is proposed to allow the sender to specify the message format and its capability to understand HTTP communication further.

Syntax:

"HTTP" "/" 1*DIGIT "." 1* DIGIT

Example:

GET http://www.example.com/ HTTP/1.1

It is to be noted that the <major> and <minor> numbers should be treated as separate integers where each has the potential to increment higher than a single digit.

Uniform Resource Identifier (URI)

URIs are also known as WWW addresses, Universal Resource Identifiers, Universal Document Identifiers, Uniform Resource Name (URN), and the popular Uniform Resource Locator (URL). These are basically formatted, case-insensitive threads that contain a name, location, etc., to identify a web service, a resource, a website, etc.

Syntax:

URI = "http :" "//" host[ ":" port ][ abs_path ["?" query]]

Here, if your port is empty or not assigned with any value, port 80 is considered the default HTTP port, and the empty abs_path is equivalent is defined as the abs_path of "/".

Example:

GET http://www.example.com/ HTTP/1.1

Date and Time Format

HTTP applications allow us to use three different formats to represent date-time stamps:

Example:

Sat, 28 Aug 1993 08:49:37 GMT; RFC 822, updated by RFC 1123
Saturday, 28-Aug-93 08:49:37 GMT; RFC 850, obsoleted by RFC 1036
Sat Nov 28 08:49:37 1993; ANSI C's asctime() format

Each HTTP date/time stamp must be presented in Greenwich Mean Time (GMT) without exception. The first date-time format is chosen as an Internet standard representing a fixed-length separation defined by RFC 1123.

The next format is a commonly used format based on the older RFC 850 date-time format with no 4-digit representation of the year. The last is the standard date-time format of ANSI.

Character Set

Character sets are used to indicate character sets that are given as preference by the client. Various character sets exist that are listed and separated by commas. If the value is not specified, the default US-ASCII is used.

Syntax:

Accept-Charset: <charset>, <charset>;q=

Example:

Accept-Charset: utf-8, iso-8859-1;q=0.7

Media Types

Internet Media Types are used by HTTP as the 'Content-Type' as well as 'Accept header' fields for providing open and extensible data type for type negotiation. Parameters may trail the type/subtype as attribute/value pairs. All these media-type values must be registered under the Internet Assigned Numbers Authority (IANA).

Syntax:

Accept: type "/" subtype *( ";" parameter )

Example:

Accept: application/vnd.linn.user+json; version=1

Language Tag

Language tags in HTTP are used to identify a natural language that is spoken, written, and conveyed by humans for day to day communication. It excludes all computer languages. The registry and syntax of HTTP language tags are the same and are defined by RFC 1766. A language tag can contain more than one part.

Syntax:

Accept-Language: <language>

or

Accept-Language: *

Example:

Accept-Language: en-US,fr-CA

It is to be noted that white spaces are not allowed within a tag. Also, all tags are case- insensitive. The IANA administers all the namespace of the standard language tags. Example of such languages are: en, en-US, en-cockney, i-cherokee, x-pig-latin



Found This Page Useful? Share It!
Get the Latest Tutorials and Updates
Join us on Telegram