大家好,我是IT修真院上海分院第5期學(xué)員,一枚正直善良的JAVA程序員。
今天給大家分享一下,修真院官網(wǎng)JAVA任務(wù)2中,Http的Header里面包含哪些字段,每個字段都有哪些含義?
一、背景介紹
協(xié)議是指計算機通信網(wǎng)絡(luò)中兩臺計算機之間進行通信所必須共同遵守的規(guī)定或規(guī)則。
超文本傳輸協(xié)議(HTTP)是一種詳細規(guī)定了瀏覽器和萬維網(wǎng)服務(wù)器之間互相通信的規(guī)則,它允許將超文本標記語言(HTML)文檔從Web服務(wù)器傳送到客戶端的瀏覽器。
通常HTTP消息包括客戶機向服務(wù)器的請求消息和服務(wù)器向客戶機的響應(yīng)消息。這兩種類型的消息由一個起始行,一個或者多個頭域,一個空行(表示頭域結(jié)束)和可選的消息體組成。
HTTP的頭域包括通用頭,請求頭,響應(yīng)頭和實體頭四個部分。每個頭域由一個域名,冒號(:)和域值三部分組成。域名是大小寫無關(guān)的,域值前可以添加任何數(shù)量的空格符,頭域可以被擴展為多行,在每行開始處,使用至少一個空格或制表符。
二.知識剖析
這里主要說下request和response的頭部消息。
1.HTTP Request的頭部信息
request消息的頭部是這個結(jié)構(gòu):HTTP-METHOD URL HTTP-Version。
1.1HTTP請求方式,包括:GET(向web服務(wù)器請求一個文件);POST(向web服務(wù)器發(fā)送數(shù)據(jù)讓web服務(wù)器進行處理);PUT(向Web服務(wù)器發(fā)送數(shù)據(jù)并存儲在Web服務(wù)器內(nèi)部);HEAD(檢查一個對象是否存在);DELETE(從web服務(wù)器上刪除一個文件);TRACE(跟蹤到服務(wù)器的路徑);OPTIONS(查詢web服務(wù)器的性能)。
主要使用到“GET”和“POST"。
1.2HOST,請求的web服務(wù)器域名地址。
1.3User-Agent,HTTP客戶端運行的瀏覽器類型的詳細信息。通過該頭部信息,web服務(wù)器可以判斷到當前HTTP請求的客戶端瀏覽器類型。
1.4Accept,指定客戶端能夠接受的內(nèi)容類型,內(nèi)容類型中的先后次序表示客戶端接收的先后次序。1.5Accept-Language,指定HTTP客戶端瀏覽器用來展示返回信息所優(yōu)先選擇的語言。
1.6Accept-Encoding,指定客戶端瀏覽器可以支持的web服務(wù)器返回內(nèi)容壓縮編碼類型。表示允許服務(wù)器在將輸出內(nèi)容發(fā)送到瀏覽器以前進行壓縮,以節(jié)約帶寬。而這里設(shè)置的就是客戶端瀏覽器所能夠支持的返回壓縮格式。
1.7Accept-Charset,瀏覽器可以接受的字符編碼集。
1.8Content-Type,顯示此HTTP請求提交的內(nèi)容類型。一般只有post提交時才需要設(shè)置該屬性。1.9Connection,表示是否需要持久連接。如果web服務(wù)器端看到這里的值為“keep-Alive”,或者看到請求使用的是HTTP 1.1(HTTP1.1默認進行持久連接),它就可以利用持久連接的優(yōu)點,當頁面包含多個元素是(例如Applet,圖片),也顯著地減少下載所需要的時間。
1.10Keep-alive,顯示此HTTP連接的時間,使客戶端到服務(wù)器端的連接持續(xù)有效,當出現(xiàn)對服務(wù)器的后續(xù)請求時,可以避免建立或重新建立連接。
1.11cookie,HTTP請求發(fā)送時,會把保存在該請求域名下的所有cookie值一起發(fā)送給web服務(wù)器。
1.12Referer。包含URL,用戶從該URL代表的頁面出發(fā)訪問當前請求的頁面。
2.HTTP中response
Response 消息中的第一行叫做狀態(tài)行,由HTTP協(xié)議版本號, 狀態(tài)碼, 狀態(tài)消息 三部分組成。
第一行的格式:HTTP-Version Status-Code Reason-PhraseCRLF
2.1Content-Length。表示web服務(wù)器返回消息正文的長度。
2.2Content-Type。返回數(shù)據(jù)的類型(例如text/html文本類型)和字符編碼格式。
2.3Date。顯示當前的時間
三.常見問題
1.經(jīng)??吹接嘘P(guān)xml時提到"application/xml" 和 "text/xml"兩種類型有什么區(qū)別?
二者功能一模一樣,唯一的區(qū)別就是編碼格式,text/xml忽略xml頭所指定編碼格式而默認采用us-ascii編碼,而application/xml會根據(jù)xml頭指定的編碼格式來編碼。
2q=qvalue起什么作用?
q相當于描述了客戶端對于某種媒體類型的喜好系數(shù),該值范圍是0-1。默認為1。與被描述的參數(shù)用分號隔開。
四.解決方案
五。編碼實戰(zhàn)
六、參考文獻
https://www.cnblogs.com/itcqx/p/5849734.html
http://www.cnblogs.com/TankXiao/archive/2012/02/06/2337728.html
https://blog.csdn.net/wangxin1982314/article/details/50608380
http://www.iwms.net/n2030c40.aspx
七.更多討論
百度大法好。
詳見視頻
感謝大家觀看
今天的分享就到這里啦,歡迎大家點贊、轉(zhuǎn)發(fā)、留言、拍磚~
技能樹.IT修真院
“我們相信人人都可以成為一個工程師,現(xiàn)在開始,找個師兄,帶你入門,掌控自己學(xué)習(xí)的節(jié)奏,學(xué)習(xí)的路上不再迷?!?。
這里是技能樹.IT修真院,成千上萬的師兄在這里找到了自己的學(xué)習(xí)路線,學(xué)習(xí)透明化,成長可見化,師兄1對1免費指導(dǎo)??靵砼c我一起學(xué)習(xí)吧~