日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

了解 Web 及網(wǎng)絡(luò)基礎(chǔ)

 

程序員和IT人都應(yīng)該懂的知識(shí):HTTP入門圖解

 

對(duì)端傳輸

發(fā)送端在層與層間傳輸數(shù)據(jù)時(shí),沒經(jīng)過(guò)一層都會(huì)被加上首部信息,接收端每經(jīng)過(guò)一層都會(huì)刪除一條首部

 

程序員和IT人都應(yīng)該懂的知識(shí):HTTP入門圖解

 

多種協(xié)議作用

IP 協(xié)議,TCP 協(xié)議和 DNS 服務(wù)在使用 HTTP 協(xié)議過(guò)程中發(fā)揮的作用

簡(jiǎn)單的 HTTP 協(xié)議

請(qǐng)求報(bào)文和響應(yīng)報(bào)文

客戶端像服務(wù)器發(fā)起請(qǐng)求時(shí)會(huì)生成一段請(qǐng)求報(bào)文,請(qǐng)求報(bào)文是由請(qǐng)求方法,URL,協(xié)議版本,可選的請(qǐng)求首部字段和內(nèi)容實(shí)體構(gòu)成。

 

程序員和IT人都應(yīng)該懂的知識(shí):HTTP入門圖解

 

請(qǐng)求報(bào)文

接收到請(qǐng)求的服務(wù)器,會(huì)將請(qǐng)求內(nèi)容的處理結(jié)構(gòu)以響應(yīng)的形式返回。響應(yīng)報(bào)文基本上由協(xié)議版本,狀態(tài)碼,用以解釋狀態(tài)的原因短語(yǔ),可選的響應(yīng)首部字段以及實(shí)體主體構(gòu)成。

 

程序員和IT人都應(yīng)該懂的知識(shí):HTTP入門圖解

 

響應(yīng)報(bào)文

 

HTTP 是不保存狀態(tài)的協(xié)議和 Cookie 的簡(jiǎn)單介紹

HTTP 協(xié)議對(duì)于發(fā)送的請(qǐng)求和響應(yīng)不做持久化處理。這時(shí)候引入了 Cookie 技術(shù)用于狀態(tài)管理。Cookie 對(duì)用與登錄的狀態(tài)管理,沒有 Cookie 這個(gè)技術(shù)的話,因?yàn)?HTTP 不保存狀態(tài),每次打開新網(wǎng)頁(yè)都必須再次登錄。

Cookie 會(huì)根據(jù)響應(yīng)報(bào)文中的 Set-Cookie 字段來(lái)通知客戶端自動(dòng)保存 Cookie。下次請(qǐng)求時(shí)會(huì)自動(dòng)發(fā)送 Cookie,服務(wù)器會(huì)比對(duì)數(shù)據(jù)得到狀態(tài)結(jié)果。

 

程序員和IT人都應(yīng)該懂的知識(shí):HTTP入門圖解

 

先引入副作用和冪等的概念。

副作用指對(duì)服務(wù)器上的資源做改變,搜索是無(wú)副作用的,注冊(cè)是副作用的。

冪等指發(fā)送 M 和 N 次請(qǐng)求(兩者不相同且都大于1),服務(wù)器上資源的狀態(tài)一致。注冊(cè)10個(gè)和11個(gè)帳號(hào)是不冪等的,對(duì)文章進(jìn)行更改10次和11次是冪等的。

在規(guī)范的應(yīng)用場(chǎng)景上說(shuō),Get 多用于無(wú)副作用,冪等的場(chǎng)景,例如搜索關(guān)鍵字。Post 多用于副作用,不冪等的場(chǎng)景,例如注冊(cè)。

在技術(shù)上說(shuō):

  • Get 請(qǐng)求能緩存,Post 不能
  • Post 相對(duì) Get 安全一點(diǎn)點(diǎn),因?yàn)镚et 請(qǐng)求都包含在 URL 里,且會(huì)被瀏覽器保存歷史紀(jì)錄,Post 不會(huì),但是在抓包的情況下都是一樣的。
  • Post 可以通過(guò) request body來(lái)傳輸比 Get 更多的數(shù)據(jù),Get 沒有這個(gè)技術(shù)
  • URL有長(zhǎng)度限制,會(huì)影響 Get 請(qǐng)求,但是這個(gè)長(zhǎng)度限制是瀏覽器規(guī)定的,不是 RFC 規(guī)定的
  • Post 支持更多的編碼類型且不對(duì)數(shù)據(jù)類型限制

常見狀態(tài)碼

 

程序員和IT人都應(yīng)該懂的知識(shí):HTTP入門圖解

 

常見狀態(tài)碼

 

2XX 成功

  • 200 OK,表示從客戶端發(fā)來(lái)的請(qǐng)求在服務(wù)器端被正確處理
  • 204 No content,表示請(qǐng)求成功,但響應(yīng)報(bào)文不含實(shí)體的主體部分
  • 206 Partial Content,進(jìn)行范圍請(qǐng)求

3XX 重定向

  • 301 moved permanently,永久性重定向,表示資源已被分配了新的 URL
  • 302 found,臨時(shí)性重定向,表示資源臨時(shí)被分配了新的 URL
  • 303 see other,表示資源存在著另一個(gè) URL,應(yīng)使用 GET 方法丁香獲取資源
  • 304 not modified,表示服務(wù)器允許訪問資源,但因發(fā)生請(qǐng)求未滿足條件的情況
  • 307 temporary redirect,臨時(shí)重定向,和302含義相同

4XX 客戶端錯(cuò)誤

  • 400 bad request,請(qǐng)求報(bào)文存在語(yǔ)法錯(cuò)誤
  • 401 unauthorized,表示發(fā)送的請(qǐng)求需要有通過(guò) HTTP 認(rèn)證的認(rèn)證信息
  • 403 forbidden,表示對(duì)請(qǐng)求資源的訪問被服務(wù)器拒絕
  • 404 not found,表示在服務(wù)器上沒有找到請(qǐng)求的資源

5XX 服務(wù)器錯(cuò)誤

  • 500 internal sever error,表示服務(wù)器端在執(zhí)行請(qǐng)求時(shí)發(fā)生了錯(cuò)誤
  • 503 service unavailable,表明服務(wù)器暫時(shí)處于超負(fù)載或正在停機(jī)維護(hù),無(wú)法處理請(qǐng)求

HTTP 首部

通用首部

指請(qǐng)求報(bào)文和響應(yīng)報(bào)文都可以使用的字段

  • Cache-Control no-cache 指客戶端不緩存過(guò)期資源 no-store 指不進(jìn)行緩存 max-age 指緩存資源的緩存時(shí)間比指定的值小,那么客戶端就接受緩存資源,且緩存服務(wù)器不對(duì)資源有效性進(jìn)行再次確認(rèn)
  • Connection 指控制不再轉(zhuǎn)發(fā)給代理的首部字段(Hop-by-hop),管理持久連接 close 指服務(wù)器像明確斷開連接 Keep-Alive 指保存持久連接,HTTP/1.1前默認(rèn)連接是非持久性的,如需要保存持久連接,需要增加此字段
  • Upgrade 可以用來(lái)指定一個(gè)完全不同的通信協(xié)議,對(duì)于這個(gè)字段,服務(wù)器可以返回101狀態(tài)碼

請(qǐng)求首部字段

  • Accept 指用戶代理能夠處理的媒體類型及媒體類型的相對(duì)優(yōu)先級(jí)
  • Accept-Encoding 指用來(lái)告知服務(wù)器用戶代理支持的內(nèi)容編碼及內(nèi)容編碼的優(yōu)先級(jí)順序
  • Authorization 指用來(lái)告知服務(wù)器,用戶代理的認(rèn)證信息
  • Host 當(dāng)一個(gè) IP 下存在多個(gè)域名時(shí),幫助服務(wù)器知道要請(qǐng)求的具體主機(jī)
  • User-Agent 會(huì)講創(chuàng)建請(qǐng)求的瀏覽器和用戶代理名稱等信息傳達(dá)給服務(wù)器

HTTPS

HTTPS 是 HTTP 建立在 SSL/TLS 安全協(xié)議上的。

在 IOS 中,客戶端本地會(huì)存放著 CA 證書,在HTTPS 請(qǐng)求時(shí),會(huì)首先像服務(wù)器索要公鑰,獲得公鑰后會(huì)使用本地 CA 證書驗(yàn)證公鑰的正確性,然后通過(guò)正確的公鑰加密信息發(fā)送給服務(wù)器,服務(wù)器會(huì)使用私鑰解密信息。

SSL/TLS握手階段分為五步:以下引自 阮一峰的網(wǎng)絡(luò)日志第一步,愛麗絲給出協(xié)議版本號(hào)、一個(gè)客戶端生成的隨機(jī)數(shù)(Client random),以及客戶端支持的加密方法。第二步,鮑勃確認(rèn)雙方使用的加密方法,并給出數(shù)字證書、以及一個(gè)服務(wù)器生成的隨機(jī)數(shù)(Server random)。第三步,愛麗絲確認(rèn)數(shù)字證書有效,然后生成一個(gè)新的隨機(jī)數(shù)(Premaster secret),并使用數(shù)字證書中的公鑰,加密這個(gè)隨機(jī)數(shù),發(fā)給鮑勃。第四步,鮑勃使用自己的私鑰,獲取愛麗絲發(fā)來(lái)的隨機(jī)數(shù)(即Premaster secret)。第五步,愛麗絲和鮑勃根據(jù)約定的加密方法,使用前面的三個(gè)隨機(jī)數(shù),生成"對(duì)話密鑰"(session key),用來(lái)加密接下來(lái)的整個(gè)對(duì)話過(guò)程。

HTTPS 相對(duì)于 HTTP 性能上差點(diǎn),因?yàn)槎嗔?SSL/TLS 的幾次握手和加密解密的運(yùn)算處理,但是加密解密的運(yùn)算處理已經(jīng)可以通過(guò)特有的硬件來(lái)加速處理。

分享到:
標(biāo)簽:HTTP
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定