Who should read it: It is for you if you are looking for an overview of this topic for a project, to conduct/appear in an interview, or in general. As we learn more, we will update this article.
HTTP: It stands for Hyper Text Transfer Protocol. An HTTP response is a response on web client, received via internet, in answer to an HTTP request. It is an application layer protocol for transferring hypermedia documents like HTML. HTTP is a stateless protocol. Means, the server does not keep any data between two requests.
HTTP response status codes: response codes are categorized in five classes below:
Informational responses (100–199)
Successful responses (200–299)
Client errors (400–499)
Server errors (500–599)
Cross-Origin Resource Sharing (CORS): It is a mechanism to allow the requests for browsers from cross-origin sources.
HTTP cookies: HTTP cookie is a small information that a server sends to a browser. This is used to identify if two requests are coming from the same browser. HTTP is a stateless protocol. HTTP cookie helps to remember the states. Cookies are used for session management, personalization, and tracking.
HTTP rate limiting: HTTP 429 Too Many Requests response code indicates that the user has sent so many requests in a given amount of time. This is called rate limiting.
HTTP2: HTTP/2 makes applications more faster, robust, and simpler.
SPDY: It was an experimental protocol introduced by Google. It targeted for 50% reduction in page load time.
HTTPS: It is a secured HTTP protocol. This involves public and private key cryptography.
HTTP caching: Caching in general helps to get the data faster, without hitting the server every time. Browser has cache option. Proxy server also keeps a cache. We also have a reverse proxy server. HTTP header plays the key role in cache mechanism. There are three types of headers: expires, pragma, and content-control. The content-protocol is a preferred caching header. There are properties to configure the duration of cache.
Related terms to learn: HTTP tunneling, HTTP content negotiation, HTTP caching, and Certificates