HTTP Protocols
HTTP (Hypertext Transfer Protocol) is the underlying
communication protocol of World Wide Web. HTTP functions as a request–response protocol in the client–server
computing model.
HTTP has four versions — HTTP/0.9, HTTP/1.0,
HTTP/1.1, and HTTP/2.0. The common version in use is HTTP/1.1 and the future
will be HTTP/2.0.
HTTP/0.9 — The One-line Protocol
- It
is initial version of HTTP, a simple client-server, request-response,
telenet-friendly protocol
- Request
nature is single-line (method + path for requested document)
- Methods
supported by this version is GET only
- Response
type is hypertext only
- Connection is terminated immediately after the
response
- No
HTTP headers (cannot transfer other content type files), No status/error
codes, No URLs, No versioning
HTTP/1.0 — Building extensibility
- Browser-friendly
protocol
- Provided
header fields including rich metadata about both request and
response (HTTP version number, status code, content type)
- Response
is not limited to hypertext (Content-Type header provided ability to
transmit files other than plain HTML files — e.g. scripts, stylesheets,
media)
- Methods
supported are GET , HEAD , POST
- Connection
is terminated immediately after the response
HTTP/1.1 — The standardized protocol
- This
is the HTTP version currently in common use.
- Introduced
critical performance optimizations and feature enhancements — persistent
and pipelined connections, chunked transfers, compression/decompression,
content negotiations, virtual hosting (a server with a single IP Address
hosting multiple domains), faster response and great bandwidth savings by
adding cache support.
- Methods
supported are GET , HEAD , POST , PUT , DELETE , TRACE , OPTIONS
- Connection
is long-lived
HTTP/2.0
With Upgrade header introduced in HTTP/1.1, it is
possible to start a connection using a commonly-used protocol, such as
HTTP/1.1, then request that the connection switch to an enhanced protocol type
like HTTP/2.0 or WebSockets.
HTTPS
Hyper Text Transfer Protocol Secure (HTTPS) is the
secure version of HTTP. It uses SSL/TLS for secure encrypted communications.
An HTTPS connection can protect the data transfer
from the man-in-the-middle attacks and common security threats by providing
bidirectional encryption for communications between a client and server.
Although HTTPS is secure by its design, the SSL/TLS
handshake process consumes a significant time before establishing an HTTPS
connection. It normally costs 1–2 seconds and drastically slows down the
startup performance of a website.
No comments:
Post a Comment