你不得不知道的HTTP協(xié)議和HTTPS協(xié)議

前言:“不是井里沒有水,而是你挖的不夠深;不是成功來的慢,而是你努力的不夠狠?!?br>你好,我是夢陽辰!一起學習起來吧!


文章目錄

  • 01.HTTP概述

  • 02HTTP協(xié)議的組成

  • 03.HTTPS協(xié)議


  • 01.HTTP概述

    HTTP協(xié)議(HyperText Transfer Protocol,超文本傳輸協(xié)議)是因特網(wǎng)上應用最為廣泛的一種網(wǎng)絡傳輸協(xié)議,所有的WWW文件都必須遵守這個標準。是一個基于請求與響應的模式的,無狀態(tài)的網(wǎng)絡協(xié)議。是瀏覽器和服務器間最常用的通訊協(xié)議。HTTP協(xié)議是瀏覽器與服務期間的數(shù)據(jù)傳遞格式的一種約定,瀏覽器與服務器只要都遵循這個約定,就可以進行數(shù)據(jù)通訊了。

    HTTP是一個基于TCP/IP通信協(xié)議來傳遞數(shù)據(jù)(HTML 文件, 圖片文件, 查詢結果等)。設計HTTP的初衷就是為了提供一種發(fā)布和接受HTML頁面的方法。

    1.請求與響應
    由瀏覽器向服務器發(fā)送數(shù)據(jù),稱為請求(request)。由服務器向瀏覽器發(fā)送數(shù)據(jù),則成為Response。

    2.HTTP版本
    客戶端若要向服務器發(fā)出請求,必須首先在他們之間創(chuàng)建一個TCP(Transfer Control Protocal,傳輸控制協(xié)議)連接。而當客戶端與服務器通訊結束后,TCP連接將被關閉。而這個鏈接就是基于HTTP協(xié)議的。

    HTTP1.1還允許客戶端不用等待上一次請求結果返回,就可以發(fā)出下一次請求,但服務器端必須按照接收到客戶端請求的先后順序依次回送響應結果。為了防止服務器主動將TCP連接關閉,在每一個請求中都攜帶了一個參數(shù)Connectiong,用于告訴服務器是否關閉連接。由客戶端發(fā)送了關閉TCP連接時,服務器才會將TCP連接關閉。

    02HTTP協(xié)議的組成

    HTTP協(xié)議包括兩部分:請求協(xié)議與響應協(xié)議,分別用于制定請求與響應信息的格式。

    1.請求協(xié)議
    在學習請求協(xié)議前了解一下URL和URI.
    URL:(Uniform Resource Locator)統(tǒng)一資源定位符,是互聯(lián)網(wǎng)上標準資源的地址??梢栽谌悍秶鷥?nèi)唯一的確定一個資源。

    URI:統(tǒng)一資源標識符,用于標識一個資源的名稱。通過這種名稱命名的資源可以被互聯(lián)網(wǎng)定位和訪問。

    2.響應協(xié)議

    3.狀態(tài)碼
    當進行web應用訪問時,經(jīng)常會看到一些4開頭或5開頭的提示信息頁面。這些就是HTTP協(xié)議制定的。讓服務器傳遞給瀏覽器的狀態(tài)碼。表示服務器對當前請求的處理狀態(tài)。

    2開頭:表示請求與響應成功。常見的狀態(tài)碼200
    4開頭:表示請求錯誤。其中常見的狀態(tài)碼是404
    5開頭:表示服務端錯誤。常見的狀態(tài)碼:500

    4.GET和POST請求方式
    HTTP協(xié)議規(guī)定,瀏覽器向服務器發(fā)送數(shù)據(jù)提交請求的提交方式有8種。但GET與POST請求最常用。

    GET請求
    由于GET請求會將請求的所攜帶的參數(shù)作為請求URL中的一部分出現(xiàn),所以請求參數(shù)會顯示在地址欄。這導致了GET的三點不足。

    參數(shù)值只能是字符串,而不能是其他類型。
    可以攜帶的數(shù)據(jù)量小。
    數(shù)據(jù)安全性低。

    但是:GET請求有個很重要的特征:客戶端一旦接收到“服務器向GET請求發(fā)送的響應”后,瀏覽器會自動緩存響應。當客戶端再次進行相同請求提交時,將直接讀取本地瀏覽器緩存中數(shù)據(jù),而不再向服務端真正發(fā)送數(shù)據(jù)。讓用戶感覺服務端的響應很快,提升用戶體驗,減輕了服務器壓力。

    第一:GET請求的目的一般是客戶端要從服務端下載資源。發(fā)送相同的請求就代表要下載相同的資源。如果已經(jīng)被下載了,就無需再下載了。

    POST請求的目的一般是客戶端要向服務端上傳資源。對于向服務端上傳資源后相應的結果,瀏覽器是無需緩存的。

    第二:兩種提交方式的比較難易程度是不同的。
    GET提交方式的請求只包含請求行,請求頭與空行三部分。所以第二次請求與前一次請求是否相同,瀏覽器很好做出比較。
    POST提交方式所包含的數(shù)據(jù)量比較大,主要體現(xiàn)在請求正文內(nèi)容多。對于POST提交,是否是相同請求的提交不好比較。

    03.HTTPS協(xié)議

    超文本傳輸安全協(xié)議(英語:Hypertext Transfer Protocol Secure,縮寫:HTTPS,常稱為HTTP over TLS,HTTP over SSL或HTTP Secure)是一種網(wǎng)絡安全傳輸協(xié)議。具體介紹以前先來介紹一下以前常見的HTTP,HTTP就是我們平時瀏覽網(wǎng)頁時候使用的一種協(xié)議。HTTP協(xié)議傳輸?shù)臄?shù)據(jù)都是未加密的,也就是明文,因此使用HTTP協(xié)議傳輸隱私信息非常不安全。HTTP使用80端口通訊,而HTTPS占用443端口通訊。在計算機網(wǎng)絡上,HTTPS經(jīng)由超文本傳輸協(xié)議(HTTP)進行通信,但利用SSL/TLS來加密數(shù)據(jù)包。HTTPS開發(fā)的主要目的,是提供對網(wǎng)絡服務器的身份認證,保護交換數(shù)據(jù)的隱私與完整性。這個協(xié)議由網(wǎng)景公司(Netscape)在1994年首次提出,隨后擴展到互聯(lián)網(wǎng)上。

    不走心的努力,都是在敷衍自己!你要堅信所有現(xiàn)在越不過去的坎,將來總有一天會當成笑話說出來。

    關注公眾號【輕松玩編程】回復關鍵字“電子書”,“計算機資源”,“Java從入門到進階”,”JavaScript教程“,“算法”,“Python學習資源”,“人工智能”等即可獲取學習資源。

    ?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
    【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
    平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

    友情鏈接更多精彩內(nèi)容