(HTTP|HTTPS) - Hypertext Transfer Protocol
1 - About
HTTP was originally designed to be usable as an interface to distributed object systems.
HTTP is an application-level protocol for distributed, collaborative, hypermedia information systems.
A client is the end-user, the server is the web site.
- and tunnels.
HTTP is not constrained to using TCP/IP and its supporting layers, although this is its most popular application on the Internet. Indeed HTTP can be “implemented on top of any other protocol on the Internet, or on other networks.” HTTP only presumes a reliable transport; any protocol that provides such guarantees can be used.“
Typically, an HTTP client initiates a request. It establishes a Transmission Control Protocol (TCP) connection to a particular port on a host (port 80 by default). An HTTP server listening on that port waits for the client to send a request message. Upon receiving the request, the server sends back a status line, such as “HTTP/1.1 200 OK”, and a message of its own, the body of which is perhaps the requested resource, an error message, or some other information.
HTTP allows an open-ended set of methods and headers that indicate the purpose of a request. HTTP is also used as a generic protocol for communication between user agents and proxies/gateways to other Internet systems.
HTTP provides also data transfer.
2 - Articles Related
3 - RFC
HTTP is the union of a set of Hypertext Transfer Protocol (HTTP/1.1) RFCs:
- Message Syntax and Routing (rfc7230), R. Fielding, J. Reschke. IETF.
- Semantics and Content (rfc7231), R. Fielding, J. Reschke. IETF.
- Conditional Requests (rfc7232), R. Fielding, J. Reschke. IETF.
- Range Requests (rfc7233), R. Fielding, Y. Lafon, J. Reschke. IETF.
- Caching (rfc7234), R. Fielding, M. Nottingham, J. Reschke. IETF.
- Authentication (rfc7235), R. Fielding, J. Reschke. IETF.