HTTP

參考:
HTTP協(xié)議詳解
HTTP協(xié)議處理流程

HTTP練習(xí)沙箱:httpbin.org

官方文檔:
IETF RFC2616 HTTP/1.1
https://www.w3.org/Protocols/
http://www.faqs.org/rfcs/

書籍參考:
《HTTP權(quán)威指南》

基本知識點

超文本輸出協(xié)議
快速晋南,靈活
請求方法:GET姜凄、HEAD董虱、POST、PUT、DELETE
傳輸類型以 Content-Type加以標(biāo)記
無連接:請求完收到響應(yīng)即斷開連接
無狀態(tài):后續(xù)處理需要前面的信息就必須重傳

HTTP request:請求行,請求頭对人,請求體;
HTTP response:狀態(tài)行,響應(yīng)頭,響應(yīng)體吵护;

  • http狀態(tài)碼 :
    302 是請求重定向譬圣,304未改變屯蹦,用于瀏覽器緩存機(jī)制飘庄;
    500以上是服務(wù)器錯誤
    400以上是請求鏈接錯誤或者找不到服務(wù)器,401未授權(quán),404未找到孕豹;
    200以上是正確
    100以上是請求接受成功

  • cookie RFC6265
    為了辨別用戶身份址儒,進(jìn)行session跟蹤而存儲在用戶本地終端上的數(shù)據(jù),通常經(jīng)過加密,可以叫做瀏覽器緩存潘鲫;
    cookie是由web服務(wù)器創(chuàng)建的保存在用戶瀏覽器上的小文本文件翁逞,它包含有關(guān)用戶信息,可以加快用戶訪問速度,但是會導(dǎo)致安全問題浊竟;
    用戶訪問一個web服務(wù)器時,瀏覽器首先要檢查本地的cookies徘郭,并將其樣發(fā)給web服務(wù)器壳快;
    cookies最經(jīng)典的應(yīng)用是判定注冊用戶是否已經(jīng)登錄網(wǎng)站镇草;

  • HTTP URL請求過程
    請求DNS域名解析
    TCP/IP連接
    發(fā)送請求
    接受響應(yīng)
    客戶端主動關(guān)閉

  • chunked 編碼
    一般情況下HTTP的header包含content-length來指明報文體長度眶痰;
    但有時候服務(wù)生成HTTP回應(yīng)是無法確定消息大小的,比如大文件的下載,或者后臺需要復(fù)雜的邏輯才能全部處理頁面的請求七婴,這時需要實時生成消息長度祟偷,服務(wù)器一般使用 chunked 編碼;
    編碼使用若干個Chunk組成,由一個標(biāo)明長度為0的chunk結(jié)束打厘,每個Chunk有兩部分組成修肠,第一部分是該Chunk的長度和長度單位(一般不寫),第二部分就是指定長度的內(nèi)容婚惫,每個部分用CRLF隔開。在最后一個長度為0的Chunk中的內(nèi)容是稱為footer的內(nèi)容魂爪,是一些沒有寫的頭部內(nèi)容

HTTP 原理
參數(shù)字段
  • Keep-Alive:
    Keep-Alive功能使客戶端到服務(wù)器端的連接持續(xù)有效先舷,當(dāng)出現(xiàn)對服務(wù)器的后繼請求時,Keep-Alive功能避免了建立或者重新建立連接滓侍,有一個設(shè)置時間
  • Range:
    設(shè)置斷點下載/續(xù)傳的位置
Socket

socket起源于Unix蒋川,而Unix/Linux的基本哲學(xué)之一就是“一切皆文件”;
scoket是一套完成TCP/UDP協(xié)議的接口撩笆,本身并不是協(xié)議捺球,而是一個調(diào)用接口;

  • 心跳
    理論上socket的TCP鏈接是長連接夕冲,一般不會主動斷開氮兵,但是會出現(xiàn)異常情況導(dǎo)致連接斷開,所以在無數(shù)據(jù)傳輸?shù)臅r候要發(fā)送心跳消息歹鱼,消息內(nèi)容由開發(fā)者自定義泣栈;

HTTPS

HHTPS 使用 443端口, HTTP使用80端口弥姻;
HTTP+SSL南片,SSL(安全套接層)是Netscape公司設(shè)計的主要用于web的安全傳輸協(xié)議,通過證書來確蓖ザ兀客戶端跟服務(wù)端之間的通信數(shù)據(jù)是加密安全的疼进;
加解密算法類型:

  • 對稱加密:密鑰只有一個,加密解密為同一個密碼秧廉,切加解速度快
    典型的對稱加密算法有DES伞广、AES、RC5疼电、3DES等赔癌;
  • 非對稱加密:使用兩個密鑰,公共密鑰和私有密鑰
    根據(jù)公鑰無法推知私鑰澜沟,根據(jù)私鑰也無法推知公鑰灾票,相對對稱加密速度較慢,典型的非對稱加密算法有RSA茫虽、DSA等刊苍;
    私有由一方保存既们,另一方任何人都可以獲得公共密鑰;
    URL導(dǎo)圖:


    Paste_Image.png
Paste_Image.png

Multipart/form-data

https://www.w3.org/Protocols/rfc1341/7_2_Multipart.html
https://my.oschina.net/cnlw/blog/168466
http://www.faqs.org/rfcs/
http里沒有專門用于文件上傳的請求方式正什,文件上傳請求是在post請求基礎(chǔ)之上定義出來的一種方式啥纸;
multipart請求頭信息: Content-Type,其值必須規(guī)定為multipart/form-data婴氮,具體的頭信息如下:

Content-Type: multipart/form-data; boundary=${bound}

${bound}是一個占位符斯棒,代表我們規(guī)定的分隔符;
與post請求體不同的是它的構(gòu)造方式主经,post是簡單的name=value值鏈接荣暮,而multipart/form-data則是添加了分割符等內(nèi)容的構(gòu)造體;
**要發(fā)送一個multipart請求罩驻,其實任何支持post請求的工具或語言都可以支持穗酥,只是自己要稍微包裝一下便可

Paste_Image.png

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市惠遏,隨后出現(xiàn)的幾起案子砾跃,更是在濱河造成了極大的恐慌,老刑警劉巖节吮,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抽高,死亡現(xiàn)場離奇詭異,居然都是意外死亡透绩,警方通過查閱死者的電腦和手機(jī)厨内,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來渺贤,“玉大人雏胃,你說我怎么就攤上這事≈景埃” “怎么了瞭亮?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長固棚。 經(jīng)常有香客問我统翩,道長,這世上最難降的妖魔是什么此洲? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任厂汗,我火速辦了婚禮,結(jié)果婚禮上呜师,老公的妹妹穿的比我還像新娘娶桦。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布衷畦。 她就那樣靜靜地躺著栗涂,像睡著了一般。 火紅的嫁衣襯著肌膚如雪祈争。 梳的紋絲不亂的頭發(fā)上斤程,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天,我揣著相機(jī)與錄音菩混,去河邊找鬼忿墅。 笑死,一個胖子當(dāng)著我的面吹牛沮峡,可吹牛的內(nèi)容都是我干的疚脐。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼帖烘,長吁一口氣:“原來是場噩夢啊……” “哼亮曹!你這毒婦竟也來了橄杨?” 一聲冷哼從身側(cè)響起秘症,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎式矫,沒想到半個月后乡摹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡采转,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年聪廉,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片故慈。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡板熊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出察绷,到底是詐尸還是另有隱情干签,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布拆撼,位于F島的核電站容劳,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏闸度。R本人自食惡果不足惜竭贩,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望莺禁。 院中可真熱鬧留量,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至孝赫,卻和暖如春较木,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背青柄。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工伐债, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人致开。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓峰锁,卻偏偏與公主長得像,于是被迫代替她去往敵國和親双戳。 傳聞我的和親對象是個殘疾皇子虹蒋,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 一、概念(載錄于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434閱讀 8,353評論 6 152
  • Http協(xié)議詳解 標(biāo)簽(空格分隔): Linux 聲明:本片文章非原創(chuàng)飒货,內(nèi)容來源于博客園作者M(jìn)IN飛翔的HTTP協(xié)...
    Sivin閱讀 5,223評論 3 82
  • 本文整理自MIN飛翔博客 [1] 1. 概念 協(xié)議是指計算機(jī)通信網(wǎng)絡(luò)中兩臺計算機(jī)之間進(jìn)行通信所必須共同遵守的規(guī)定或...
    HoyaWhite閱讀 2,671評論 2 20
  • /*--------------------------- 01 HTTP請求 -----------------...
    藍(lán)心兒的藍(lán)色之旅閱讀 2,163評論 0 4
  • 工作流程 一次HTTP操作稱為一個事務(wù)魄衅,其工作過程可分為四步: 1)首先客戶機(jī)與服務(wù)器需要建立連接。只要單擊某個超...
    保川閱讀 4,605評論 2 14