Past and Present HTTP protocol

HTTP protocol stands for Hypertext Transfer Protocol (Hypertext Transfer Protocol), there is need to understand three areas: hypertext transfer protocol, following on from a historical talk HTTP protocol.

1960s, the US Defense Advanced Research Projects Agency (ARPA) established ARPA network, which has four nodes located around the world, and is considered to be the ancestor of the Internet.

By the 1970s, based on practice and thinking of ARPA network, the researchers invented a well-known TCP / IP protocol, and enter the UNIX kernel in the mid-1980s, so that more computer access to the Internet.

HTTP birth

The master called Tim Berners-Lee (Tim Berners-Lee), is the founder of the World Wide Web, simply put, is the founder of the modern Internet.

In 1989, he published a paper, proposed the idea of ​​building a hyperlink file system on the Internet, In this paper he established three key technologies:

  • URI: Uniform Resource Identifier, a unique identification of resources on the Internet
  • HTML: HTML, hypertext documents description
  • HTTP: Hypertext Transfer Protocol, used to transport hypertext

These three technologies directly and we are the technology of today's Web world, Tim called it the World Wide Web (World Wide Web).

So, in 1989, HTTP born.

HTTP/0.9

In the early 1990s, the Internet world is a desert, low computer processing power, storage capacity is small, speed is very slow. The vast majority of resources on the network resources are plain text, so the HTTP protocol is in plain text format.

In order to facilitate the processing server and client, Tim originally envisaged in the system are read-only file, the user is only allowed a GET request to obtain HTML documents from the server, and close the connection immediately after the response, is very limited.

Although this version of the HTTP protocol is simple, but as a prototype, fully verify the feasibility of Web services.

HTTP/1.0

In 1993, the National Center for Supercomputing Applications (NCSA) developed Mosaic, the first browser can be photo-text, and subsequently developed the Apache server software in 1995, simplifies the construction work of the HTTP service.

During the same period, in 1992, he invented the JPEG image format, in 1995 invented the MP3 music format.

The emergence of new technologies, promote the HTTP protocol started adding various characteristics, promote the development of the HTTP protocol from the perspective of user needs.

Based on the existing practice, through a series of draft, HTTP / 1.0 officially released in 1996. The main increase in the following sections:

  • Added new method HEAD / POST, etc.
  • Increasing the response status codes
  • Increase the version number
  • Added the concept Header head
  • Increased Content-Typetransmission of data is no longer limited to text

However, HTTP / 1.0 is not a standard, but a record reference documentation of existing practices and patterns, does not have an actual binding, equivalent to a memo.

HTTP/1.1

In 1999, HTTP / 1.1 RFC documents issued, numbered 2616 , from the version number we can see, HTTP / 1.1 is a small margin for HTTP / 1.0 as amended. However, an important difference is that it is a formal standard, not a reference document. However, HTTP / 1.1, said small amplitude correction is not very precise, there is major change points are:

  • Added new method PUT / DELETE / OPITIONS etc.
  • Increase the cache control and management Cache Control
  • Clear connection management, allows persistent connections Keepalive
  • Allowing response data block, facilitate the transmission of large files (chunked)
  • Mandatory Host header

All the well-known site of our world today, are created around this point in time, it can be said with HTTP / 1.1, it created a Web 1.0, Web 2.0 era.

However, HTTP / 1.1 is too large and complex, so in 2014 they conducted a revision, split into six smaller documents, 7230 / 7231 / 7232 / 7233 / 7234 / 7235

The six documents added two big needs:

  • Increase the security of HTTP, such as using TLS protocol
  • Let HTTP can support more applications, now supports four network protocols:
    • Traditional short connection
    • TCP connections can grow the model reuse
    • PUSH server model
    • WebSocket model

HTTP/2

HTTP / 1.1 there are two problems:

  1. Slow connection request is a serial, the need to ensure that the order, for example, there may be a plurality of resources page
  2. Poor performance, HTTP / 1.1 is a text mode, the network bandwidth by reducing the CPU zip compression, but the cost of the front and rear ends CPU

In 2010, Google launched a new SPDY protocol, and applied to their own server, HTTP / 2 to SPDY is based, its main features are:

  • Using binary transfer, it is no longer plain text
  • May be connected to a plurality of HTTP requests concurrently in a TCP, the request is removed serial HTTP / 1.1 in
  • Use HPACK algorithm to compress the head
  • It allows the server to take the initiative to push data to the client
  • Enhanced security, based TLS protocol

HTTP/3

The main problem HTTP / 2 has a head of line blocking problem, that is to say, a number of HTTP requests in a TCP connection multiplexing, then once the loss occurs, the problem is caused by all the requests must wait for the package lost weight pass back, even if the package is not my HTTP request.

Based on this, Google invented QUIC (Quick UDP Internet Connections) protocol, which is based on UDP. Therefore, it addresses the following questions:

  • UDP is disordered, and therefore head of line blocking problem does not exist
  • QUIC have its own retransmission packet loss and congestion control protocol
  • HTTPS handshake usually requires six network interaction, QUIC directly TLS and merged into TCP three-way handshake

Therefore, QUIC above is a pseudo TCP + UDP-multiplexing protocol TLS + HTTP / 2 in. In the future, QUIC protocol mature, it is possible to replace the TCP protocol.

Public concern number to receive 20 sets of technical maps

Public concern number to receive 20 sets of technical maps

Guess you like

Origin www.cnblogs.com/iziyang/p/12122587.html