Hypertext Transfer Protocol Flashcards
Functionalities of HTTP protocol.
- client initiates TCP connection (creates socket) to server, port 80
- server accepts TCP connection from client
- HTTP messages (application-layer protocol messages) exchanged between browser (HTTP client) and WWW server (HTTP server)
- TCP connection closed
Operations of HTTP protocol.
GET - requests data from specified resource
HEAD- almost identical to GET, but without the response body (useful for checking what a GET request will return before actually making a GET request)
POST - sends data to a server to create/update a resource; no restrictions on data type or data length
PUT- sends data to a server to create/update a resource + idempotent characteristic (calling the same PUT request multiple times will always produce the same result)
DELETE- deletes the specified resource
CONNECT- requests that the recipient establish a tunnel to the destination origin server identified by the request target; intended only for use in request to a proxy
TRACE - performs a message loop-back test along the path to the target resource, providing an useful debugging mechanism
OPTIONS - requests info about the communication options available for the target resource
HTTP Intermediate Systems - GATEWAY.
Gateway - server to client (acts on behalf of servers);
Security intermediary: server part on a firewall.
Non-HTTP server: allows for accessing servers running other protocols than HTTP (FTP, Gopher servers).
HTTP Intermediate Systems - PROXY.
Proxy - acting on behalf of clients, forwarding their request;
Security intermediary:
- server interacting with client & client vs server
- client side within a firewall
- presents clients’ requests to server over an authenticated connection
Different versions of HTTP implemented: if the client and server are running different versions of HTTP.
HTTP Intermediate Systems - TUNNEL.
Tunnel:
- relays between TCP connections
- no extra info check
- firewall in which a client and a server maintains a secure connection for purpose of HTTP transactions.
Cache - facility that may store previous requests and responses for handling new requests.