摘要:所以我十分建議大家去讀一下圖解和權威指南。圖解這本書對互聯網基盤協議進行了全面系統的介紹。通過書中大量生動形象的通信圖例,我們能夠更全面地理解通信過程中客戶端與服務器之間的交互情況。返回結果的狀態在通訊中,通過轉態碼,告知客戶端的請求狀態。
前言
作為一個前端,如果能夠深刻理解 HTTP 通信,能夠讓我們在日常開發工作中快速定位問題。所以我十分建議大家去讀一下《圖解HTTP》和《HTTP權威指南》。權威指南講解的十分詳細,內容也十分的全面,但是這本書的厚度也讓很多同學望而卻步。推薦大家從 《圖解HTTP》 這本書開始學習,這本書雖然沒有權威指南詳細,但涵蓋了很多我們日常開發需要的知識點,理解他,能讓我們的開發效率事半功倍。
《圖解HTTP》這本書對互聯網基盤—— HTTP 協議進行了全面系統的介紹。作者從 HTTP 發展史開始,嚴謹地剖析了 HTTP 協議的結構,列舉很多常見通信場景及實戰案例,最后延伸到Web安全、最新技術動向等方面。通過書中大量生動形象的通信圖例,我們能夠更全面地理解 HTTP 通信過程中客戶端與服務器之間的交互情況。在讀這本書的過程中我收獲頗多,并用思維導圖的方式記錄下來,方便自己后期溫故。如果你剛好沒有讀過,可以當做度這本書的預習閱讀,相信你也會有所收獲(思維導圖圖片可能有點小,記得點開看)
了解 HTTP 協議訪問 Web這一章介紹了 Web 及網絡協議的基礎,http 通訊被拆分成四層,應用層,傳輸層,網絡層和鏈路層,每層只要考慮分派給自己的任務,不需要弄清整個協議鏈路的細節。應用層使我們肉眼能看見的,我們常用的 http 協議和 FTP 協議就處在這一層,往下就是傳輸層,TCP/IP 協議工作的地方(我們的IP是IP地址,和這里的IP 協議有做區分),再往下是網絡層,傳輸層建立連接之后,網絡層負責將數據包的傳輸(數據包是網絡傳輸的最小單位)。最后是鏈路層,用來連接網絡配件的部分,舉個栗子就是我們常說的網卡啊,光纖啊。在一個完整的數據傳輸中,客戶端會按照應用層,傳輸層,網絡層,鏈路層的順序進行進行處理,每一層都會加一個首部,服務器端在接收的時候按照鏈路層,網路層,傳輸層,應用層的順序去移除首部。
我們常說的3次握手就是 TCP 協議采用的策略,為了傳輸方便,TCP 將大數據分割成以報文為單位的數據包,IP 協議負責把數據包發送出去。在發送的過程中常常需要經過多個路由器的中轉,這個時候會運用 ARP 協議來查找下一個路由器的地址。
通常用戶的習慣會去訪問域名而不是IP地址,將域名解析成對應的 IP 就需要用到 DNS 協議域名解析的服務。
簡單的 HTTP 協議日常開發中我們感知不到 http 協議的底層實現,我們所了解的 HTTP 協議總是由客戶端發起,服務端接收。我們關注到的請求,常常是請求的URI,協議版本,頭部信息,及內容實體,我們常使用的響應信息則包括了響應狀態,響應內容。
我們常常會使用不通的 http 方法來執行不同的操作。我們常使用 GET 來獲取資源,使用 POST 傳輸實體主題,使用 PUT 傳輸文件,使用 DELETE 刪除文件,使用 OPTIONS 詢問支持的方法(常常在跨域的場景中使用),使用TRACE 獲取訪問路徑,使用 CONNECT 用隧道協議鏈接代理。
http 協議是一種無狀態協議,不會去記錄上一次訪問狀態,這使得當我們要做類似于登錄這樣的公能的時候,需要通過 cookie 來進行狀態的管理。
HTTP 報文內的 HTTP 信息
通常HTTP報文(用于HTTP協議交互的信息)的結構包括,請求行,狀態行,首部字段等,從 HTTP 的報文中,我們可以獲得很多信息。在 MIME 擴展中會使用一種稱為多部分對象集合的方法,來容納多份不同的數據類型, 在 HTTP 報文中使用多部分對象時,需要在首部字段上加上 Content-type 。
通過設置首部字段,來達到獲取部分內容范圍請求(請求資源中斷后,不需要重新開始請求),將傳輸內容編碼的目的,來提高加載效率。
有的時候不同的場景需要我們獲取不同的內容,就比如頁面的中英文切換的功能,在HTTP請求中,我們通過設置 accept 類的請求頭字段實現,也就是內容協商的方式,返回最合適的內容。協商方式分為,服務器驅動協商,客戶端驅動協商,透明協商。
返回結果的 HTTP 狀態在HTTP通訊中,通過轉態碼,告知客戶端的請求狀態。狀態碼大致可以被分為 5 大類,1xx 表示接受的請求正在處理,2xx 表示請求正常處理完畢,3xx 表示需要進行附加操作以完成請求,4xx 表示客戶端無法處理請求,5xx 表示服務器處理出錯。
在這5大類請求中,我們常用的十幾種狀態碼,需要我們重點去掌握,詳細介紹看
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/95726.html
摘要:前言有過面試經驗的同學應該都被問過瀏覽器兼容性的問題,對于面試官的問題,常常猝不及防,因為通常他們都是這么問的。來談談瀏覽器兼容的問題吧,你對瀏覽器的兼容性有了解過嗎,那么如何才是我們正確回答這個問題的姿勢呢。 前言 有過面試經驗的同學應該都被問過瀏覽器兼容性的問題,對于面試官的問題,常常猝不及防,因為通常他們都是這么問的。來談談瀏覽器兼容的問題吧,你對瀏覽器的兼容性有了解過嗎,那么如...
摘要:前言有過面試經驗的同學應該都被問過瀏覽器兼容性的問題,對于面試官的問題,常常猝不及防,因為通常他們都是這么問的。來談談瀏覽器兼容的問題吧,你對瀏覽器的兼容性有了解過嗎,那么如何才是我們正確回答這個問題的姿勢呢。 前言 有過面試經驗的同學應該都被問過瀏覽器兼容性的問題,對于面試官的問題,常常猝不及防,因為通常他們都是這么問的。來談談瀏覽器兼容的問題吧,你對瀏覽器的兼容性有了解過嗎,那么如...
摘要:更好的安全性隨著的發布,從升級到了,更安全且更易配置。通過使用,程序可以減少握手所需時間來提升請求性能。提供診斷報告有一項實驗功能,根據用戶需求提供診斷報告,包括崩潰性能下降內存泄露使用高等等。前端精讀幫你篩選靠譜的內容。 1. 引言 Node12 發布有幾個月了,讓我們跟隨 Nodejs 12 一起看看 Node12 帶來了哪些改變。 2. 概述 Node12 與以往的版本不同,帶來...
摘要:我是這一期的主持人黃子毅本期精讀的文章是。模塊化需要保證全局變量盡量干凈,目前為止的模塊化方案都沒有很好的做到這一點。精讀本次提出獨到觀點的同學有流形,黃子毅,蘇里約,,楊森,淡蒼,留影,精讀由此歸納。 這次是前端精讀期刊與大家第一次正式碰面,我們每周會精讀并分析若干篇精品好文,試圖討論出結論性觀點。沒錯,我們試圖通過觀點的碰撞,爭做無主觀精品好文的意見領袖。 我是這一期的主持人 ——...
閱讀 2968·2023-04-25 19:45
閱讀 2690·2021-11-19 09:40
閱讀 690·2021-10-14 09:49
閱讀 2668·2021-09-30 09:47
閱讀 2201·2021-09-26 09:55
閱讀 1220·2021-09-22 16:01
閱讀 2809·2019-08-30 14:19
閱讀 706·2019-08-29 16:44