HTTP與HTTPS的理解

一槐壳、HTTP協(xié)議:

  • 概念:
    ?(1)HTTP協(xié)議是Hyper Text Transfer Protocol(超文本傳輸協(xié)議)卵慰。
    ?(2)它是服務(wù)器和客戶端進(jìn)行數(shù)據(jù)交互的一種形式

  • 組成:
    ?1.請(qǐng)求報(bào)文包括三部分:
    ??(1)請(qǐng)求行:包含請(qǐng)求方法,URI,HTTP版本協(xié)議
    ??(2)請(qǐng)求首部字段
    ??(3)求內(nèi)容實(shí)體

    ?2.響應(yīng)報(bào)文包含三部分:
    ??(1).狀態(tài)行:包含HTTP版本,狀態(tài)碼,狀態(tài)碼原因短語
    ??(2).響應(yīng)首部字段
    ??(3).響應(yīng)內(nèi)容實(shí)體

  • 請(qǐng)求方式:
    1.GET:用于請(qǐng)求訪問已經(jīng)被URI(統(tǒng)一資源標(biāo)識(shí)符)識(shí)別的資源,可以通過URL傳參給服務(wù)器
    2.POST:用于傳輸信息給服務(wù)器,主要功能與GET方法類似,但一般推薦使用POST方式
    3.PUT:傳輸文件,報(bào)文主體中包含文件內(nèi)容,保存到對(duì)應(yīng)URI位置
    4.HEAD:獲得報(bào)文首部,與GET方法類似,只是不返回報(bào)文主體,一般用于驗(yàn)證URI是否有效
    5.DELETE:刪除文件,與PUT方法相反,刪除對(duì)應(yīng)URI位置的文件
    6.OPTIONS:查詢響應(yīng)URI支持的HTTP方法

  • 原理機(jī)制:

    • 流程步驟
      1.域名解析-->
      2.發(fā)起TCP三次握手-->
      3.發(fā)起HTTP請(qǐng)求-->
      4.服務(wù)器響應(yīng)HTTP請(qǐng)求-->
      5.瀏覽器解析HTML代碼并請(qǐng)求HTML代碼中資源-->
      6.瀏覽器對(duì)頁面進(jìn)行渲染呈現(xiàn)給用戶-->
      7.服務(wù)器關(guān)閉tcp連接(TCP四次揮手)

    • 域名解析過程
      1.搜索瀏覽器自身的DNS緩存
      2.搜索操作系統(tǒng)自身的DNS緩存
      3.讀取hosts文件
      4.向本地配置的首選DNS服務(wù)器發(fā)起域名解析請(qǐng)求
      5.查找NetBIOS name Cache
      6.查詢WINS服務(wù)器
      7.進(jìn)行廣播查找
      8.讀取LMHOSTS文件

    • 協(xié)議首部字段:
      1.通用首部字段(請(qǐng)求報(bào)文與響應(yīng)報(bào)文都會(huì)使用的首部字段)
      ?Date:創(chuàng)建報(bào)文時(shí)間
      ?Connection:連接的管理
      ?Cache-Control:緩存的控制
      ?Transfer-Encoding:報(bào)文主體的傳輸編碼方式

      2.請(qǐng)求首部字段(請(qǐng)求報(bào)文會(huì)使用的首部字段)
      ?Host:請(qǐng)求資源所在服務(wù)器
      ?Accept:可處理的媒體類型
      ?Accept-Charset:可接收的字符集
      ?Accept-Encoding:可接受的內(nèi)容編碼
      ?Accept-Language:可接受的自然語言

      3.響應(yīng)首部字段(響應(yīng)報(bào)文會(huì)使用的首部字段)
      ?Accept-Ranges:可接受的字節(jié)范圍
      ?Location:令客戶端重新定向到的URI
      ?Server:HTTP服務(wù)器的安裝信息

      4.實(shí)體首部字段(請(qǐng)求報(bào)文與響應(yīng)報(bào)文的的實(shí)體部分使用的首部字段)
      ?Allow:資源可支持的HTTP方法
      ?Content-Type:實(shí)體主類的類型
      ?Content-Encoding:實(shí)體主體適用的編碼方式
      ?Content-Language:實(shí)體主體的自然語言
      ?Content-Length:實(shí)體主體的的字節(jié)數(shù)
      ?Content-Range:實(shí)體主體的位置范圍祭示,一般用于發(fā)出部分請(qǐng)求時(shí)使用

  • 服務(wù)器響應(yīng)狀態(tài)碼
    1. 1XX 臨時(shí)響應(yīng)
    ?指示信息,表示請(qǐng)求已接收切距,需要請(qǐng)求者繼續(xù)執(zhí)行操作
    ?100 :請(qǐng)求者應(yīng)該繼續(xù)提出請(qǐng)求肯尺,即服務(wù)器已收到請(qǐng)求的一部分,正在等待剩余部分舅锄。
    ??請(qǐng)求者如果請(qǐng)求已經(jīng)完成鞭达,則忽略該反應(yīng)。
    ??請(qǐng)求者若干請(qǐng)求為完成皇忿,繼續(xù)發(fā)送剩余要求畴蹭。
    ??notes:服務(wù)器必須在要求完成后向請(qǐng)求者發(fā)送一個(gè)最終響應(yīng)。
    ?101:接受到了請(qǐng)求者切換協(xié)議的要求鳍烁,服務(wù)器已收到要求叨襟,并準(zhǔn)備切換到Upgrade消息頭中對(duì)應(yīng)的協(xié)議

    2. 2XX 成功
    ?請(qǐng)求已被成功接收、理解老翘、接受芹啥。
    ?200 請(qǐng)求成功
    ?根據(jù)請(qǐng)求方法的不同而分為下面幾類:
    ??HEAD 實(shí)體頭已作為響應(yīng)頭傳回請(qǐng)求者
    ??GET 資源已被提取,并作為響應(yīng)體傳回請(qǐng)求者
    ??POST 經(jīng)過服務(wù)器處理請(qǐng)求者傳來的數(shù)據(jù)铺峭,把對(duì)應(yīng)的資源傳回請(qǐng)求者
    ??TRACE 服務(wù)器收到請(qǐng)求消息并作為響應(yīng)體傳回請(qǐng)求者
    ??notes:DELETE墓怀、OPTIONS和PUT絕對(duì)不會(huì)傳回200

    ?201 已創(chuàng)建
    ??請(qǐng)求成功,并且服務(wù)器已創(chuàng)建請(qǐng)求者要求的對(duì)應(yīng)新資源卫键。
    ??notes:這一般是PUT請(qǐng)求會(huì)得到的相應(yīng)碼

    ?202 已接收
    ??服務(wù)器已接收到請(qǐng)求傀履,但尚未處理,即可以執(zhí)行,也可能拒絕
    ??notes:適合在異步操作的場(chǎng)景下

    ?203 未授權(quán)信息
    ??服務(wù)器已處理請(qǐng)求钓账,但是實(shí)體頭部元信息不屬于原服務(wù)器上有效的集合碴犬。

    ?204無內(nèi)容
    ??服務(wù)器已處理請(qǐng)求,但是響應(yīng)體內(nèi)無內(nèi)容梆暮,只有響應(yīng)頭服协。

    ?205重置內(nèi)容
    ??告訴用戶代理去重置 發(fā)送該請(qǐng)求的窗口 的文檔視圖

    ?206 部分內(nèi)容
    ??服務(wù)器處理了部分請(qǐng)求內(nèi)容
    ??notes:請(qǐng)求者通過使用range頭字段 進(jìn)行文件分段下載時(shí)

3. 3XX 重定向
想要實(shí)現(xiàn)請(qǐng)求必須進(jìn)行進(jìn)一步的操作
?300 多種選擇
??該請(qǐng)求能夠有多種響應(yīng),需要用戶或者用戶代理來選擇其中一個(gè)

?301 永久移動(dòng)
??請(qǐng)求的URI資源路徑已發(fā)生改變啦粹,若可能偿荷,擁有鏈接編輯功能的客戶端應(yīng)當(dāng)自動(dòng)把請(qǐng)求的地址修改為從服務(wù)器反饋回來的地址。除非額外指定唠椭,否則這個(gè)響應(yīng)也是可緩存的跳纳。

?302 臨時(shí)移動(dòng)
??請(qǐng)求的URI資源路徑臨時(shí)發(fā)生改變,而且有繼續(xù)改變的可能贪嫂。但是請(qǐng)求者在今后的訪問中寺庄,還是要繼續(xù)使用該URI。只有在Cache-Control或Expires中進(jìn)行了指定的情況下力崇,這個(gè)響應(yīng)才是可緩存的斗塘。

??notes:可以用來做臨時(shí)跳轉(zhuǎn)

4. 4XX 客戶端錯(cuò)誤
?請(qǐng)求有語法錯(cuò)誤或者是請(qǐng)求無法實(shí)現(xiàn)
?400 錯(cuò)誤請(qǐng)求
??請(qǐng)求中存在語法錯(cuò)誤,服務(wù)器無法讀取

?401 未授權(quán)
??需要經(jīng)過身份驗(yàn)證后才能夠獲得請(qǐng)求內(nèi)容
??notes:必須和WWW-Authenticate報(bào)頭域配合使

?403 禁止訪問
??服務(wù)器收到請(qǐng)求餐曹,但是拒絕訪問

?404 未找到
??服務(wù)器找不到請(qǐng)求的資源

5. 5XX 服務(wù)器端錯(cuò)誤
?服務(wù)器不能實(shí)現(xiàn)合法的請(qǐng)求
?500 內(nèi)部服務(wù)器錯(cuò)誤
??發(fā)生不可以預(yù)知的錯(cuò)誤
?501 未實(shí)現(xiàn)
??服務(wù)器不支持請(qǐng)求的功能
?502 網(wǎng)關(guān)錯(cuò)誤
??服務(wù)器作為網(wǎng)關(guān)逛拱,但是從上游服務(wù)器無法收到有效響應(yīng)
?503 服務(wù)器無效
??服務(wù)器當(dāng)前不能處理請(qǐng)求者的請(qǐng)求,一段時(shí)間后可恢復(fù)正常台猴,屬于臨時(shí)問題

  • 特點(diǎn):
    .簡(jiǎn)單快速
    .靈活
    .無連接
    .無狀態(tài)
    解決辦法COOKIE
    .支持C/S(Client/Server)模式

  • HTTP協(xié)議缺點(diǎn):
    1)通信使用明文(不加密)朽合,內(nèi)容可能會(huì)被竊聽
    2)不驗(yàn)證通信方的身份,因此有可能遭遇偽裝
    3)無法證明報(bào)文的完整性饱狂,所以有可能已遭篡改

二曹步、HTTPS協(xié)議:

1.概念:
就是HTTP+加密處理(一般是SSL安全通信線路)+認(rèn)證+完整性保護(hù)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市休讳,隨后出現(xiàn)的幾起案子讲婚,更是在濱河造成了極大的恐慌,老刑警劉巖俊柔,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件筹麸,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡雏婶,警方通過查閱死者的電腦和手機(jī)物赶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來留晚,“玉大人酵紫,你說我怎么就攤上這事。” “怎么了奖地?”我有些...
    開封第一講書人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵橄唬,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我参歹,道長(zhǎng)仰楚,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任泽示,我火速辦了婚禮缸血,結(jié)果婚禮上蜜氨,老公的妹妹穿的比我還像新娘械筛。我一直安慰自己,他們只是感情好飒炎,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開白布埋哟。 她就那樣靜靜地躺著,像睡著了一般郎汪。 火紅的嫁衣襯著肌膚如雪赤赊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,763評(píng)論 1 307
  • 那天煞赢,我揣著相機(jī)與錄音抛计,去河邊找鬼。 笑死照筑,一個(gè)胖子當(dāng)著我的面吹牛吹截,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播凝危,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼波俄,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了蛾默?” 一聲冷哼從身側(cè)響起懦铺,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎支鸡,沒想到半個(gè)月后冬念,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡牧挣,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年急前,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浸踩。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡叔汁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情据块,我是刑警寧澤码邻,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站另假,受9級(jí)特大地震影響像屋,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜边篮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一己莺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧戈轿,春花似錦凌受、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至色乾,卻和暖如春誊册,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背暖璧。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工案怯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人澎办。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓嘲碱,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親浮驳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子悍汛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

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