《網路是怎樣連線的》讀書筆記

Dzien dobry發表於2020-10-23

《網路是怎樣連線的》讀書筆記

生成HTTP訊息

網址準確的說法是URL(Uniform Resource Locator,即統一資源定位符)

URL結構

 

http(hypertext transfer protocol):http協議型別,同理,還可能是ftp和mailto等協議。

80是http的預設埠號,因此可以省略。(注:https的預設埠號是443,同樣可以省略)

域名後面指定的是檔案的路徑名,如果在URL中沒有指定檔案路徑,則伺服器會訪問預先設定好的預設檔案。

 

HTTP的基本思路

 

首先,客戶端告訴伺服器,要對什麼東西做怎樣的操作,其中,“對什麼東西”就是URI(Uniform Resource Identifier),“做怎樣的操作”就是方法(常見的方法就是get和post)

HTTP的大致流程:

  • 瀏覽器解析完URL之後,向伺服器傳送請求訊息。請求訊息中有請求頭、訊息頭、訊息體。
    • 請求頭就是方法、URI、HTTP版本這些啦,通過請求頭能大概瞭解要對誰做什麼;
    • 訊息頭會存放一些更詳細的附加資訊,比如日期、客戶端支援的資料型別等;
    • 訊息頭之後要空一行,然後就是訊息體啦。訊息體存放的是要傳送的資料,如果是請求用的是GET方法,憑藉URL就能知道要幹什麼,所以GET方法就不需要寫什麼東西了。如果是POST方法,訊息體就要存放發給伺服器的內容。
  • 伺服器收到請求訊息後會發出響應訊息。特別注意響應的狀態碼。
    狀態碼及其含義
    狀態碼含義
    1xx告知請求的處理進度和情況(再等等)
    2xx成功
    3xx表示需要進一步操作
    4xx客戶端錯誤
    5xx伺服器錯誤

     

 

  • BTW, 每次傳送請求都只能拿到一種資料,比如,第一次開啟網頁,網頁只顯示文字,但是會預留出位置顯示圖片,等文字載入完了,再向伺服器傳送請求訊息,把圖片獲取了。也就是說,載入個網頁基本上都要傳送好幾個請求才能載入完。

 

相關文章