一、概覽
本文已收錄于PHP全棧系列專欄:PHP面試專區(qū)。
計(jì)劃將全覆蓋PHP開(kāi)發(fā)領(lǐng)域所有的面試題,對(duì)標(biāo)資深工程師/架構(gòu)師序列
,歡迎大家提前關(guān)注鎖定。
HTTP協(xié)議是一個(gè)應(yīng)用層的協(xié)議,主要在Web瀏覽器和Web服務(wù)器之間傳遞數(shù)據(jù)。在HTTP協(xié)議中,客戶端向服務(wù)器發(fā)送請(qǐng)求,服務(wù)器返回相應(yīng)的響應(yīng)。其中請(qǐng)求和響應(yīng)的頭部信息稱為HTTP Header,它包含了一系列鍵值對(duì),用于描述請(qǐng)求或響應(yīng)的屬性。本文將介紹HTTP協(xié)議的Header中常見(jiàn)的Key及其含義。
二、請(qǐng)求頭部
2.1 Accept
客戶端告訴服務(wù)器自己能夠接受的媒體格式類型,如:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
2.2 Accept-Charset
客戶端告訴服務(wù)器自己能夠接受的字符集,如:
Accept-Charset: utf-8, iso-8859-1;q=0.5
2.3 Accept-Encoding
客戶端告訴服務(wù)器自己能夠接受的編碼方式,如:
Accept-Encoding: gzip, deflate, br
2.4 Accept-Language
客戶端告訴服務(wù)器自己能夠接受的語(yǔ)言類型,如:
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7
2.5 Cache-Control
客戶端告訴服務(wù)器緩存的處理方式,如:
Cache-Control: no-cache
2.6 Connection
客戶端告訴服務(wù)器是否需要持久化連接,如:
Connection: keep-alive
2.7 Cookie
客戶端將Cookie信息發(fā)送給服務(wù)器,如:
Cookie: name=value; name2=value2
2.8 Host
客戶端告訴服務(wù)器請(qǐng)求的主機(jī)名,如:
Host: www.example.com
2. 9 Referer
客戶端告訴服務(wù)器請(qǐng)求的來(lái)源頁(yè)面,如:
Referer: https://www.google.com/
2.10 User-Agent
客戶端告訴服務(wù)器自己的瀏覽器及操作系統(tǒng)版本信息,如:
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36
三、響應(yīng)頭部
3.1 Accept-Ranges
服務(wù)器告訴客戶端支持的文件傳輸方式,如:
Accept-Ranges: bytes
3.1 Cache-Control
服務(wù)器告訴客戶端緩存的處理方式,如:
Cache-Control: max-age=3600
3.2 Content-Encoding
服務(wù)器告訴客戶端響應(yīng)的數(shù)據(jù)的編碼方式,如:
Content-Encoding: gzip
3.3 Content-Language
服務(wù)器告訴客戶端響應(yīng)數(shù)據(jù)的語(yǔ)言類型,如:
Content-Language: en-US
3.4 Content-Length
服務(wù)器告訴客戶端響應(yīng)數(shù)據(jù)的長(zhǎng)度,如:
Content-Length: 1234
3.5 Content-Type
服務(wù)器告訴客戶端響應(yīng)數(shù)據(jù)的媒體格式類型,如:
Content-Type: text/html; charset=utf-8
3.6 Date
服務(wù)器告訴客戶端響應(yīng)的時(shí)間,如:
Date: Fri, 09 Oct 2020 04:22:00 GMT
3.7 Etag
服務(wù)器告訴客戶端響應(yīng)數(shù)據(jù)的唯一標(biāo)識(shí)符,如:
ETag: "12345"
3.8 Last-Modified
服務(wù)器告訴客戶端響應(yīng)數(shù)據(jù)的最后修改時(shí)間,如:
Last-Modified: Fri, 02 Oct 2020 10:00:00 GMT
3.9 Server
服務(wù)器告訴客戶端自己的軟件及版本信息,如:
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.4.16
3.10 Set-Cookie
服務(wù)器告訴客戶端設(shè)置Cookie信息,如:
Set-Cookie: name=value; expires=Fri, 01-Jan-2021 00:00:00 GMT; path=/;
3.11 Transfer-Encoding
服務(wù)器告訴客戶端響應(yīng)數(shù)據(jù)的傳輸方式,如:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-649357.html
Transfer-Encoding: chunked
總結(jié)
HTTP協(xié)議的Header中包含了很多鍵值對(duì),這些鍵值對(duì)描述了請(qǐng)求或響應(yīng)的屬性。在實(shí)際開(kāi)發(fā)中,我們需要根據(jù)具體業(yè)務(wù)需求來(lái)使用這些Key。本文列出了一些常見(jiàn)的HTTP Key及其含義,希望對(duì)大家了解HTTP協(xié)議有所幫助。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-649357.html
到了這里,關(guān)于【PHP面試題15】http 協(xié)議的 header 中常見(jiàn)的 key 及含義的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!