In which language is the http protocol written
The HTTP request: get data from the server
HTTP - Hypertext Transfer Protocol
The most prominent protocols on the Internet are HTTP (Hypertext Transfer Protocol) and FTP (File Transfer Protocol). POP3 is a protocol for retrieving emails, SSH (Secure Shell) is an encrypted terminal for remote access to the server.
If the user enters an address in the address field of his browser or sends a form to the address in the action attribute, the address is sent to the server as an HTTP request. The browser is the HTTP client and the server is the HTTP server.
HTTP is a stateless protocol. After a data transfer, the connection between the client and the server does not have to be maintained.
When further data is transferred, the client must establish a new connection that does not know anything about the previous process. For a website with four images and a stylesheet, six more requests were required with the HTTP 1.0 protocol, whereas the HTTP 1.1 protocol could exchange several requests and responses within one connection and continue broken connections.
HTTP / 2 has been the new standard since 2015 - with better performance than HTTP / 1.1, better compression of the HTTP header and, above all, thanks to the multiplexing of several simultaneous requests on the same connection.
HTTP / 2 does not bring the big breakthrough in speed, because HTTP / 2 has remained compatible with HTTP / 1.1 and also requires an encrypted connection (HTTPS), which extends the transfer a bit. But thanks to the compatibility, the dear old functions from cookies to GET and POST are retained.
Cookies and Query Strings
But even with HTTP / 2, the HTTP protocol has no memory. In order to transfer information from one HTML page to the next (e.g. with multi-page forms), procedures such as cookies, query strings or PHP sessions must be used.
HTTP request and HTTP response
After establishing a connection to the server, the HTTP client transmits a request in a specified format:
- an initial line
- a series of header lines
- a blank line
- a message (optional)
The initial three-part line consists of the name of the method, the path to the requested resource and the HTTP version used. A typical query can look like this
HTTP 1.1 request
(A fully qualified URL and the HOST header line required)GET http://wisotop.de/test.html HTTP / 1.1 HOST: wisotop.de
Header lines send additional information about the request or the data of the message body, e.g. the desired language. Each header line notes a name / value pair, where the name and value are separated by a colon.User-Agent: Mozilla / 5.0 (Macintosh; U; PPC Mac OS X Mach-O; de; rv: 188.8.131.52) Gecko / 20060508 Firefox / 184.108.40.206 Accept: * / *
The accept field signals to the server which formats the client accepts. Since modern servers can process almost all formats, the MIME type * / * is usually used.
In response to such a request, the server sends an HTTP response, the first line also being referred to as the status line. In this line, the server returns the HTTP version as an echo as well as a response status code in the form of three digits and a short text message, which is referred to as the reason phase.HTTP / 1.1 200 OK Server: Apache / 2.0.49 Content-Language: de Content-Type: text / html User-Agent: Mozilla / 5.0 (Macintosh; U; PPC Mac OS X; de-de) AppleWebKit / 312.8
The response status code and the reason phase are plain text messages from the same message, although the reason phase may vary slightly from server to server.
- 1 ** - information
- Information messages
- 2 ** - Success
- The request was successfully carried out
- 200 - OK
- The request was successful
- 204 - No content
- The document does not contain any data
- 3 ** - Redirected
- Further information is required for a successful processing of the request
- 301 - Moved Permanently
- The requested document has permanently moved to a different URI
- 4 ** - Client error
- Probably the cause of the failure of a request lies with the client
- 401 - Not Authorized
- The request must be authenticated by the user
- 403 Forbidden
- The server rejects the request
- 404 - Not Found
- The requested resource does not exist
- 5 ** - Server error
- 500 - Internal Server Error
- the cause of the failure of a request is likely to be with the server
- 503 - Service Unavailable
The response can also contain header lines, each of which consists of a header and a value pair.HTTP Status Code: HTTP / 1.1 200 OK Server: Apache / 2.0.49 (Linux / SuSE) Date: Thu, 13 Jul 2006 07:19:43 GMT Content-Type: text / html Connection: close
The HTTP request methods
We are familiar with the methods of HTTP requests as soon as we put the first form on a website. The encounter is limited to the GET and POST methods.
- Request content from the server.
- Request content from the server and also transmit a data block made up of name / value pairs (e.g. from a form). In principle, data can also be transferred with GET, but the amount of data permitted with POST is greater.
- instructs the server to send the HTTP header but not the content of the document. For example, the existence of a linked page can be checked.
- Upload files to the web server. Hardly implemented for security reasons.
- deletes the file on the server. Hardly implemented for security reasons.
- returns the request as the server received it. Is used e.g. for debugging connections, but is not implemented on many servers for security reasons.
- is implemented by proxy servers
- Changes to a resource
HTTP / 1.1 and HTTP / 2
HTTP / 1.1 was introduced in 1997, updates were made in 1999 and 2014. The most important difference is likely to be the support for multiple connections per request. Multiple connections - this brings a shorter latency period (delay between request and response).
HTTP / 2 is the most recent version. The server can transfer data that has not yet been requested by the client, but which is needed for the complete display of the page. HTTP / 2 can bundle additional requests over a single TCP connection and transmit them at the same time - waiting for the answer: shorter waiting times.
Both the server and the client must support HTTP / 2 - all modern browsers can do this. If the server supports HTTP / 2, the browser automatically fetches the pages via HTTP / 2. HTTPS required: If the browser cannot negotiate an encrypted connection, it will fall back on the HTTP / 1.1 protocol.
HTTP / 2 - Impact on Web Design
Even if HTTP / 2 does not give websites wings and is more or less barely noticed by the user, the use of HTTP / 2 has an impact on web design.
- The user is served large files, of which he may only actually need a part. With HTTP / 2 it makes more sense to use resources efficiently only where they are needed.
- A Base64 data URL is also rather counterproductive compared to integrating the file.
The visible speed advantages are - as already mentioned - not an intoxicating flight of highs, but rather when considering the loading time of individual pages well, nice. The advantages of HTTP 2 become visible in the overall assessment when there are high numbers of visitors.
You can test in the Chrome console whether the pages are delivered via HTTP 1.1 or HTTP 2:console.log (performance.getEntries ()  .nextHopProtocol)
With HTTP2 the answer is short and sweet h2, otherwise http / 1.1.
- Why is real rap overlooked?
- Can Poloniex be hacked like Mt Gox
- Essay writing is important to business
- How did Thanjavur get its name
- Can I migrate to Singapore
- What are grid points
- Where are good vacation spots in Pa
- Why do narcissists fight with self-assessment
- Is it worth attending Amrita University
- Which vehicle has the most comfortable seats
- How quickly do neurons recognize patterns
- What are some good guitar certification programs
- A blood test may show that there are opiates
- What is Justin Bieber's religion
- What are the implications of the GDPR
- Which sport has the most superstitious players?
- How widespread is doping in cycling today
- Has Elizabeth II ever visited Kampala Uganda
- Are narcissism and dominance the same thing?
- What is the definition of time
- Why can't Kashmiris decide their own fate?
- How are anopheles affected by Plasmodium
- Why does Fox News hate Muslim people