官术网_书友最值得收藏!

HTTP headers

Below the request line are a series of key-value pairs that provide metadata describing how the request should be handled. These metadata fields are called HTTP headers. In our simple request, made earlier, we have a single HTTP header that defines the target host we are trying to reach. This information is not required by the HTTP protocol; however, it is almost always sent in order to provide clarification on who should be receiving the request.

If you were to inspect the HTTP request sent by your web browser, you would see many more HTTP headers. The following is an example sent by a Google Chrome browser to the same example.com website:

GET /index.html HTTP/1.1
Host: example.com
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
If-None-Match: "1541025663+gzip"
If-Modified-Since: Fri, 09 Aug 2013 23:54:35 GMT

The basics of the HTTP request are the same, however, your browser provides significantly more request headers, mostly related to how to handle cached HTML pages. We will discuss some of these headers in more detail in the following chapters.

The server reads the request and processes all of the headers to decide how to respond to your request. In the most basic scenario, the server will respond saying Your request is OK and deliver the contents of index.html.

主站蜘蛛池模板: 临夏市| 卢湾区| 景洪市| 屯昌县| 汝城县| 司法| 苍溪县| 静海县| 方城县| 霍城县| 郎溪县| 寻甸| 内黄县| 贵阳市| 右玉县| 商水县| 石阡县| 论坛| 遂昌县| 定安县| 华蓥市| 漯河市| 萨迦县| 大兴区| 长治市| 邹平县| 来凤县| 电白县| 双流县| 尖扎县| 彭水| 高碑店市| 江都市| 城口县| 新化县| 榆树市| 鹤庆县| 怀宁县| 阜新| 元阳县| 廉江市|