close
test_template

How Does The Hypertext Transfer Protocol Work

About this sample

About this sample

close

Words: 1154 |

Pages: 3|

6 min read

Published: Jan 15, 2019

Words: 1154|Pages: 3|6 min read

Published: Jan 15, 2019

Table of contents

  1. Basic Features
  2. Basic Architecture
  3. HTTP Version
    Uniform Resource Identifiers
    Date/Time Formats
    Character Sets
    HTTP-Message

The Hypertext Transfer Protocol (HTTP) is an application-level protocol. HTTP is used for collaborative, distributed, hypermedia information systems. This is the foundation for data communication for the World Wide Web. HTTP is a generic and stateless protocol which can be used for other purposes as well using extensions of its request methods, error codes, and headers.

'Why Violent Video Games Shouldn't Be Banned'?

HTTP is a TCP/IP based communication protocol. HTTP is used to deliver data like HTML and image files, query results, sound, video and other multimedia files on the WWW. The default port number for HTTP is 80 but we can use other port number also.

HTTP’s development was initiated by Tim Berners-Lee at CERN in 1989. HTTP’s Standards development was coordinated by the Internet Engineering Task Force (IETF) and the World Wide Web Consortium (W3C), culminating in the publication of a series of Requests for Comments (RFCs). The first definition of HTTP/1.1, the version of HTTP in common use, occurred in RFC 2068 in 1997, although this was obsoleted by RFC 2616 in 1999 and then again by RFC 7230 and family in 2014.

A later version, the successor HTTP/2.0, was standardized in 2015, and is now supported by major web servers.

HTTP works as a request–response protocol in the client–server computing model. For example, a web browser may be the client and an application running on a computer hosting a website may be the server. The client sends an HTTP request message to the server. The server,which provides resources such as HTML files and other content, or performs other functions on behalf of the client, returns a response message to the client. The response contains completion status information about the request and may also contain requested content in its message body.

HTTP is designed to permit intermediate network elements to improve or enable communications between clients and servers. HTTP is an application layer protocol designed within the framework of the Internet protocol suite. HTTP resources are identified and located on the network by Uniform Resource Locators (URLs), using the Uniform Resource Identifiers (URI’s) schemes http and https. URIs and hyperlinks in HTML documents form inter-linked hypertext documents.

Basic Features

There are three basic features that make HTTP a simple but powerful protocol:

  • HTTP is connectionless: The HTTP Client send an HTTP request and after a request is made, the client disconnects from the server and waits for a response from server. The server processes the request and re-establishes the connection with the client to send a response back.
  • HTTP is media independent: It means that data of any type can be sent by HTTP as long as the client and the server know how to handle the content of data. It is necessary for the client and the server to specify the type of content using appropriate MIME-type.
  • HTTP is stateless: HTTP is connectionless and it is a direct result of HTTP being a stateless protocol. The server and client are aware of each other only during a current request. Afterwards, both of them forget about each other. Due to this nature of the protocol, neither the client nor the browser can retain information between different requests across the web pages.

Basic Architecture

The following diagram shows a very basic architecture of a web application and depicts where HTTP sits:

  • The HTTP protocol is a request/response protocol based on the client/server based architecture where web browsers, robots and search engines, etc. act like HTTP clients and the Web server acts as a server.
  • Client: The HTTP client sends a request to the server in the form of a request method, URI, and protocol version, followed by a MIME-like message containing request modifiers, client information, and possible body content over a TCP/IP connection.
  • Server: The HTTP server responds with a status line, including the message’s protocol version and a success or error code, followed by a MIME-like message containing server information, entity meta-information, and possible entity-body content.

HTTP Version

HTTP uses a . numbering scheme to indicate versions of the protocol. The version of an HTTP message is indicated by an HTTP-Version field in the first line. Syntax of specifying the HTTP version is as following:

HTTP-Version = “HTTP” “/” 1*DIGIT “.” 1*DIGIT Example: HTTP/1.1

Uniform Resource Identifiers

Uniform Resource Identifiers (URI) are simply formatted, case-insensitive string containing name, location, etc. to identify a resource, for example, a website, a web service, etc. A Syntax of URI used for HTTP is as follows: URI = “http:” “//” host [ “:” port ] [ abc_path [ “?” query ] ]

Here if the port is empty or not given, port 80 is assumed for HTTP.

Date/Time Formats

All HTTP date/time stamps MUST be represented in Greenwich Mean Time (GMT), without exception. HTTP applications are allowed to use any of the following three representations of date/time stamps: Mon, 18 Dec 2003 03:30:15 GMT ; RFC 822, updated by RFC 1123Monday, 18-Dec-03 03:30:15 GMT ; RFC 850, obsoleted by RFC 1036Mon Dec 18 18:30:15 2003 ; ANSI C’s asctime() format

Character Sets

We use character sets to specify the character sets that the client prefers. Multiple character sets can be listed separated by commas. If a value is not specified, the default is the US-ASCII. Example: US-ASCII

HTTP-Message

HTTP makes use of the Uniform Resource Identifier (URI) to identify a given resource and to establish a connection. Once the connection is established, HTTP messages are passed in a format similar to that used by the Internet mail [RFC5322] and the Multipurpose Internet Mail Extensions (MIME) [RFC2045]. These messages include requests from client to server and responses from server to client which will have the following format: HTTP-message = | ; http/1.0 messages HTTP requests and HTTP responses use a generic message format of RFC 822 for transferring the required data. HTTP message contains following four items: A start-line Zero or more header fields followed by CRLF An empty line indicating the end of header fields Optionally a message body

  1. Message Start-Line Message start-line has the following syntax: Start-line = Request-line | Status-line Example: GET /web.html HTTP/1.0(Request-line sent by client) HTTP/1.0 200 OK
  2. Header Fields

HTTP header fields provide required information about the request or response, or about the object sent in the message body. There are four types of HTTP message headers:

  • General-header: These header fields have general applicability for both request and response messages.
  • Request-header: These header fields have applicability only for request messages.
  • Response-header: These header fields have applicability only for response messages.
  • Entity-header: These header fields define Meta information about the entity-body or, if nobody is present, about the resource identified by the request.

All the above mentioned headers follow the same generic format and each of the header field consists of a name followed by a colon (:) and the field value as follows:

Get a custom paper now from our expert writers.

  1. Message-header = field-name “:” [ field-value ]
  2. Message Body

The message body part is optional for an HTTP message but if it is available, then it is used to carry the entity-body associated with the request or response. If entity body is associated, then usually content-type and Content-Length headers lines specify the nature of the body associated.

Image of Alex Wood
This essay was reviewed by
Alex Wood

Cite this Essay

How Does the Hypertext Transfer Protocol Work. (2019, January 15). GradesFixer. Retrieved April 19, 2024, from https://gradesfixer.com/free-essay-examples/how-does-the-hypertext-transfer-protocol-work/
“How Does the Hypertext Transfer Protocol Work.” GradesFixer, 15 Jan. 2019, gradesfixer.com/free-essay-examples/how-does-the-hypertext-transfer-protocol-work/
How Does the Hypertext Transfer Protocol Work. [online]. Available at: <https://gradesfixer.com/free-essay-examples/how-does-the-hypertext-transfer-protocol-work/> [Accessed 19 Apr. 2024].
How Does the Hypertext Transfer Protocol Work [Internet]. GradesFixer. 2019 Jan 15 [cited 2024 Apr 19]. Available from: https://gradesfixer.com/free-essay-examples/how-does-the-hypertext-transfer-protocol-work/
copy
Keep in mind: This sample was shared by another student.
  • 450+ experts on 30 subjects ready to help
  • Custom essay delivered in as few as 3 hours
Write my essay

Still can’t find what you need?

Browse our vast selection of original essay samples, each expertly formatted and styled

close

Where do you want us to send this sample?

    By clicking “Continue”, you agree to our terms of service and privacy policy.

    close

    Be careful. This essay is not unique

    This essay was donated by a student and is likely to have been used and submitted before

    Download this Sample

    Free samples may contain mistakes and not unique parts

    close

    Sorry, we could not paraphrase this essay. Our professional writers can rewrite it and get you a unique paper.

    close

    Thanks!

    Please check your inbox.

    We can write you a custom essay that will follow your exact instructions and meet the deadlines. Let's fix your grades together!

    clock-banner-side

    Get Your
    Personalized Essay in 3 Hours or Less!

    exit-popup-close
    We can help you get a better grade and deliver your task on time!
    • Instructions Followed To The Letter
    • Deadlines Met At Every Stage
    • Unique And Plagiarism Free
    Order your paper now