http協議那些事兒

      網友投稿 920 2025-03-31

      1. HTTP協議

      1.1 http 技術背景

      為啥叫超文本傳輸協議呢

      # 技術由來 在互聯網早期的時候,我們輸入的信息只能保存在本地,無法和其他電腦進行交互。我們保存的信息通常都以文本即簡單字符的形式存在,文本是一種能夠被計算機解析的有意義的二進制數據包。而隨著互聯網的高速發展,兩臺電腦之間能夠進行數據的傳輸后,人們不滿足只能在兩臺電腦之間傳輸文字,還想要傳輸圖片、音頻、視頻,甚至點擊文字或圖片能夠進行超鏈接的跳轉,那么文本的語義就被擴大了,這種語義擴大后的文本就被稱為超文本(Hypertext)。HTML 就是最常?的超?本了,它本身只是純?字?件,但內部?很多標簽定義了圖?、視頻等的鏈接,再經過瀏覽器的解釋,呈現給我們的就是?個?字、有畫?的??了。 # SO,HTTP 是?個在計算機世界?專?在「兩點」之間「傳輸」?字、圖?、?頻、視頻等「超?本」數據的「約定和 規范」。 # 瀏覽器 瀏覽器使用的是HTTP協議的主要載體。隨著網景 大戰結束,瀏覽器迅速發展,至今已有很多瀏覽器。

      1.2 http 基本概念

      http協議那些事兒

      HTTP 是什么

      HTTP 是超?本傳輸協議,也就是HyperText Transfer Protocol。HTTP的名字「超?本協議傳輸」,它可以拆成三個部分:超?本、傳輸、協議

      URI/URL

      # URI的全稱是(Uniform Resource ldentifier),中文名稱是統一資源標識符,使用它就能夠唯一地標記互聯網上資源 # URL的全稱是 ((Uniform Resource Locator) ,中文名稱是統一資源定位符,也就是我們俗稱的網址,它實際上是URI的一個子集。 # URN 通過名字來標識或識別資源。

      常見的字段有哪些?

      Host 字段:客戶端發送請求時,?來指定服務器的域名 Content-Length 字段:表明本次回應的數據?度。 Connection 字段:常?于客戶端要求服務器使?TCP 持久連接,以便其他請求復? HTTP/1.1 版本的默認連接都是持久連接,但為了兼容?版本的HTTP,需要指定 Connection ? 部字段的值為Keep-Alive。 Content-Type 字段:?于服務器回應時,告訴客戶端,本次數據是什么格式 Content-Type: text/html; charset=utf-8 發送的是網頁,使用的是utf8格式 客戶端請求的時候,可以使? Accept 字段聲明??可以接受哪些數據格式。 Accept: */* 客戶端聲明??可以接受任何格式的數據。 Content-Encoding 字段 :說明數據的壓縮?法。表示服務器返回的數據使?了什么壓縮格式

      1.3 http 常見狀態碼

      5大狀態碼

      301 Moved Permanently 永久移動,請求的資源已被永久的移動到新URI; 302 Found 臨時移動,資源臨時被移動,客戶端應繼續使用原有URI; 304 Not Modified 文件未修改,請求的資源未修改,服務器返回此狀態碼時,常用于緩存; 400 Bad Request 客戶端請求的語法錯誤,服務器無法解析或者訪問; 401 Unauthorized 請求要求用戶的身份認證; 402 Payment Required 此狀態碼保留,為以后使用; 403 Forbidden 服務器理解請求客戶端的請求,但是拒絕執行此請求; 404 Not Found 服務器沒有該資源,請求的文件找不到; 405 Method Not Allowed 客戶端請求中的方法被禁止; 500 Internal Server Error 服務器內部錯誤,無法完成請求; 502 Bad Gateway 服務器返回錯誤代碼或者代理服務器錯誤的網關; 503 Service Unavailable 服務器無法響應客戶端請求,或者后端服務器異常; 504 Gateway Time-out 網關超時或者代理服務器超時; 505 HTTP Version not supported 服務器不支持請求的HTTP協議的版本,無法完成處理。

      1.4 http 報文介紹

      http 協議主要有三大部分組成: 起始行、請求頭、實體

      每個報文的其實行 都是由 3個字段組成:、

      方法: http、ftp等

      URL:統一資源定位符 俗稱 網址

      http版本:

      3.5 http 請求URL 介紹

      我們以訪問http://www.example.com:80/path/to/myfile.html? key1=value1&key2=value2#SomewhereInTheDocument 為例。

      1. http://告訴瀏覽器使用何種協議。對于大部分Web資源,通常使用HTTP協議或其安全版本,HTTPS協議。另外,瀏覽器也知道如何處理其他協議。例如,mailto:協議指示瀏覽器打開郵件客戶端;ftp:協議指示瀏覽器處理文件傳輸。 2. www.example.com既是一個域名,也代表管理該域名的機構。它指示了需要向網絡上的哪一臺主機發起請求。當然,也可以直接向主機的 IP address 地址發起請求。但直接使用IP地址的場景并不常見。 3. 端口。兩個主機之間要發起TCP連接需要兩個條件,主機+端口。它表示用于訪問Web 服務器上資源入口。 4.路徑。 /path/to/myfile.html是 Web服務器上資源的路徑。以端口后面的第一個/開始,到?號之前結束,中間的每一個/都代表了層級(上下級)關系。這個URL的請求資源是一個html頁面。 5.參數。?key1=value1&key2=value2是提供給Web服務器的額外參數。如果是GET請求,一般帶有請求URL參數,如果是POST請求,則不會在路徑后面直接加參數。這些參數是用&符號分隔的鍵/值對列表。key1 = value1是第一對,key2 = value2是第二對參數 6.錨點.#SomewhereInTheDocument是資源本身的某一部分的一個錨點。錨點代表資源內的一種"“書簽",它給予瀏覽器顯示位于該“加書簽”點的內容的指示。例如,在HTML文檔上,瀏覽器將滾動到定義錨點的那個點上;在視頻或音頻文檔上,瀏覽器將轉到錨點代表的那個時間。值得注意的是#號后面的部分,也稱為片段標識符,永遠不會與請求一起發送到服務器。

      3.6 http 版本

      HTTP/1.0

      第一個在通訊中指定版本號的HTTP協議版本,常用于代理服務器。 成為了面向事務的應用層協議,該協議需要每請求一次響應建立并拆除一次連接, 引入了POST和HEAD命令 相對于一版本在一定程度上保障的數據的傳輸安全,是一個典型的串行連接事務。 缺點: 串行處理,效率低下

      HTTP/1.1

      引入持久連接機制并被默認采用,且更好的配合代理服務器工作 還支持管道方式同一連接下同時發送多個請求,以降低線路負載,提高傳輸速度 新增方法: PUT、PATCH、OPTIONS、DELETE 缺點: 同一TCP連接里,所有通信按次序進行,服務器只能順序處理回應,如果前面處理過慢,會有許多請求排隊,造成隊頭阻塞(Head-of-line blocking)

      HTTP/2.0

      HTTP/1.1 與HTTP/2.0 區別

      1、HTTP/2.0 采用二進制格式,而非文本格式 2、HTTP/2.0是完全的多路復用,非有序并阻塞的,只需要一個鏈接即可實現并行 3、使用報頭壓縮,HTTP/2降低了開銷 4、HTTP/2讓服務器可以將響應主動 "推送"到客戶緩存中

      4. HTTPS協議

      4.1 https 協議介紹

      HTTPS(全稱是 Hyper Text Transfer Protocol over SecureSocket Layer)是身披SSL/TLS 外殼的 HTTP。它在 HTTP 之上利用 SSL/TLS 建立安全的信道,加密數據傳輸。它被廣泛用于互聯網上安全敏感的通訊,例如電商、支付等應用

      對稱加密:加密與解密用同一套密鑰,如 DES、3DES 和 AES 等

      非對稱加密:加密和解密所使用的密鑰不同,如 RSA、DSA等

      HTTPS 是由 HTTP 和SSL/TLS協議構建的更為安全的網絡協議

      TLS 記錄層協議規定數據的最大大小限制為16KB 字節

      4.2 Cookie 和Session 會話

      HTTP協議是一種無狀態協議,即每次服務端接收到客戶端的請求時,都是一個全新的請求,服務器并不知道客戶端的歷史請求記錄;Session和Cookie的主要目的就是為了彌補HTTP的無狀態特性。

      客戶端請求服務端,服務端會為這次請求開辟一塊內存空間,這個對象便是Session對象,存儲結構為ConcurrentHashMap 。Session 彌補了HTTP無狀態特性,服務器可以利用Session存儲客戶端在同一個會話期間的一些操作記錄。

      HTTP TCP/IP

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:企業生產管理(企業生產管理的內容包括哪五個方面)
      下一篇:插入工作表行按鍵在哪里?
      相關文章
      亚洲AV成人精品网站在线播放| 亚洲综合激情五月丁香六月| 亚洲av成人一区二区三区观看在线 | 中文字幕精品三区无码亚洲| 97se亚洲综合在线| 亚洲国产精品自在拍在线播放 | 亚洲成a人片在线播放| 91亚洲国产在人线播放午夜| 国产成人亚洲综合| 国产精品亚洲一区二区三区在线观看 | 亚洲视频精品在线观看| 久久久久久亚洲Av无码精品专口| 久久精品国产亚洲| 亚洲av无码乱码国产精品fc2| 国产精品亚洲аv无码播放| 亚洲国产美女精品久久久久∴| 亚洲精品亚洲人成人网| 亚洲av综合色区| 亚洲视频免费在线观看| 亚洲黄色网址大全| 亚洲人成片在线观看| 亚洲首页国产精品丝袜| 亚洲人成人无码.www石榴| 欧美亚洲国产SUV| 亚洲av无码成人精品区在线播放| 亚洲精品尤物yw在线影院| 在线亚洲午夜理论AV大片| 亚洲国产精品无码AAA片| 亚洲高清在线视频| 亚洲国产精品美女| 国产精品亚洲片夜色在线| 亚洲精品伦理熟女国产一区二区| 精品久久亚洲一级α| 精品国产人成亚洲区| 亚洲国产精品成人久久| 亚洲精品电影在线| 亚洲偷偷自拍高清| 亚洲?V无码成人精品区日韩 | 亚洲乱码一二三四区麻豆| 亚洲精品第一国产综合亚AV| 日产国产精品亚洲系列|