1. 程式人生 > 其它 >Http協議介紹

Http協議介紹

瀏覽器視窗輸入網址再回車發生了幾件事

'''
    1 瀏覽器朝服務端傳送請求
    2 服務端接收請求(eg:請求百度首頁)
    3 服務端返回相應的響應(eg:返回一個百度首頁)
    4 瀏覽器接收響應,根據特定的規則渲染頁面,展示給使用者看
    
    瀏覽器可以充當很多服務端的客戶端
        百度,騰訊視訊,優酷視訊...
    如何做到瀏覽器能夠跟多個不同的服務端之間進行資料互動?
        1 瀏覽器很牛逼,能夠自動識別不同服務端做不同處理
        2 制定一個統一的標準,如果你想要讓你寫的服務端能夠跟客戶端之間做正常的資料互動,那麼你就必須要遵循一些規則
'''

HTTP協議

'''
    超文字傳輸協議,用來規定服務端和瀏覽器之間的資料互動的格式...
    改協議你可以部遵循,但是你寫的服務端就不能被瀏覽器正常訪問,你就自己跟自己玩
    你就自己寫客戶端,使用者想使用,就下載你專門的app即可

    四大特性
        1.基於請求響應
        2.基於TCP/IP作用於應用層之上的協議
        3.無狀態
            不儲存使用者的資訊
                eg:一個人來個一千次,你都記不住,每次都當他如初見
            由於HTTP是無狀態的,所以後續出現了一些專門記錄使用者狀態的技術
                cookie/session/token...
        4.無/短連結
            請求來一次我響應一次,之後我們兩個就沒有任何連結和關係了
            
            長連結:雙方建立連結之後預設不斷開 websocket(後面會講)
    請求資料格式
        請求首行(用來標識HTTP協議版本,當前請求方式)
        請求頭(一大堆k,v鍵值對)
        空行(這裡空白(/r/n)換行,千萬不能省略)
        請求體(並不是所有的請求方法都有,get沒有post有,存放的是post請求提交的敏感資料)
    響應資料格式
        響應首行(用來標識HTTP協議版本,響應狀態碼)
        響應頭(一大堆k,v鍵值對)
        空行(這裡空白(/r/n)換行,千萬不能省略)
        響應體(返回給瀏覽器展示給使用者看的資料)    
    請求方式
        1.get請求
            向服務端要資料
                eg:輸入網址獲取對應的內容
        2.post請求
            向服務端提交資料
                eg:使用者登入,輸入使用者名稱和密碼之後,提交到後端做身份校驗
    響應狀態碼
        用一串簡單的數字來表示一些複雜的狀態或者描述性資訊
            1xx:服務端已經成功接收到了你的資料正在處理,你可以繼續提交額外的資料
            2xx:服務端成功響應了你想要的資料(200 OK 請求成功)
            3xx:重定向(當你在訪問一個需要登入之後才能看的頁面,你會發現自動跳轉到登入頁面)
            4xx:請求錯誤
                404:請求資源不存在
                403:當前請求不合法或不符合訪問資源的條件
            5xx:伺服器內部錯誤(500 server internal error)
    URL
        統一資源定位符(大白話:網址)
'''

學習部落格:https://www.cnblogs.com/haiyan123/p/8387770.html

while True: print('studying...')