HTTP request format when the browser makes a request to the Web server, it passes a block of data to the server, which is the request information, and the HTTP request information consists of 3 parts of the:l request method URI Protocol/version l Request Header l request body Below is an example of an HTTP request: get/sample.jsphttp/1.1accept:image/gif.image/ jpeg,*/*accept-language:zh-cnconnection:keep-alivehost:localhostuser-agent:mozila/4.0 (compatible; MSIE5.01; Window NT5.0) accept-encoding:gzip,deflate username=jinqiao&password=1234 (1) Request Method URI Protocol/version The first line of the request is "method URL negotiation/version": get/sample.jsp http/1.1 the "GET" in the code above represents the request method, "/sample.jsp" Represents the URI, "http/1.1 represents the version of the Protocol and Protocol." HTTP requests can use a variety of request methods, depending on the HTTP standard. For example: HTTP1.1 supports 7 methods of request: GET, POST, HEAD, OPTIONS, PUT, delete, and Tarce. In Internet applications, the most common method is get and post. The URL completely specifies the network resource to be accessed, usually with a relative directory relative to the root of the server, always beginning with a "/", and finally, the version of the Protocol that declares the use of HTTP during communication. (2) The request header request header contains many useful information about the client environment and the request body. For example, the request header can declare the language used by the browser, the length of the request body, and so on. accept:image/gif.image/jpeg.*/*accept-language:zh-cnconnection:keep-alivehost:localhostuser-agent:mozila/4.0 ( Compatible:msie5.01:windows NT5.0) Accept-encoding:gzip,deflatE. (3) A blank line between the request body request header and the request body, which is very important, indicates that the request header has ended, and then the request body. The request body can contain query string information submitted by the customer: username=jinqiao&password=1234 in the HTTP request for the example above, the body of the request has only one line of content. Of course, in real-world applications, the HTTP request body can contain more content. HTTP request method I only discuss the Get method with the Post method L get method The Get method is the default HTTP request method, We use the Get method to submit the form data on a daily basis, but the form data submitted with the Get method is simply encoded, and it is sent to the Web server as part of the URL, so there is a security risk if you use the Get method to submit the form data. For exampleHttp://127.0.0.1/login.jsp?Name=zhangshi&Age=30&Submit=%cc%E+%BD%BBFrom the URL request above, it is easy to identify what the form submits. (? Later) Additionally, the amount of data submitted is not too large because the data submitted by the Get method is part of the URL request. The Post method is an alternative to the Get method, which is primarily to submit form data to the Web server, especially large batches of data. The Post method overcomes some of the drawbacks of the Get method. When submitting form data through the Post method, the data is not sent as part of the URL request but as standard data to the Web server, which overcomes the drawback that the information in the Get method is not confidential and the amount of data is too small. Therefore, for security reasons and respect for user privacy, the Post method is usually used for form submission. From a programmatic point of view, if a user submits data through a GET method, the data is stored in the QUERY_STRING environment variable, and the data submitted by the Post method can be obtained from the standard input stream. HTTP replies are similar to HTTP requests, and HTTP responses are made up of 3 parts, namely: L Protocol Status Version Code description L response Header (Response header) L response body Below is an example of an HTTP response: http/1.1 okserver: Apache tomcat/5.0.12date:mon,6oct2003 13:23:42 gmtcontent-length:112 The Protocol status code describes the first line of the HTTP response similar to the first line of the HTTP request, which indicates that the protocol used by the HTTP1.1 server has successfully processed the client-issued request (200 indicates success): http/1.1 OK
The response header (Response header) also contains many useful information, such as server type, datetime, content type, and length, as well as the request header: Server:apache tomcat/5.0.12date:mon,6oct2003 13:13:33 gmtcontent-type:text/htmllast-moified:mon,6 OCT 2003 13:23:42 gmtcontent-length:112 Response Body Response body is the HTML page returned by the server:
Example HTTP request