回覆列表
  • 1 # 無敵道爺

    http請求的基本過程是連線、請求、應答、關閉連線。

    1.連線: 當我們輸入這樣一個請求時,首先要建立一個socket連線,因為socket是透過ip和埠建立的,所以之前還有一個DNS解析過程,把www.mycompany.com變成ip,如果url裡不包含埠號,則會使用該協議的預設埠號。

    DNS的過程是這樣的:首先我們知道我們本地的機器上在配置網路時都會填寫DNS,這樣本機就會把這個url發給這個配置的DNS伺服器,如果能夠找到相應的url則返回其ip,否則該DNS將繼續將該解析請求傳送給上級DNS。

    整個DNS可以看做是一個樹狀結構,該請求將一直髮送到根直到得到結果。現在已經擁有了目標ip和埠號,這樣我們就可以開啟socket連線了。

    2.請求: 連線成功建立後,開始向web伺服器傳送請求,這個請求一般是GET或POST命令(POST用於FORM引數的傳遞)。GET命令的格式為:GET 路徑/檔名 HTTP/1.0。

    檔名指出所訪問的檔案,HTTP/1.0指出Web瀏覽器使用的HTTP版本。現在可以傳送GET命令:GET /mydir/index.html HTTP/1.0。

    3.應答 :web伺服器收到這個請求,進行處理,從它的文件空間中搜索子目錄mydir的檔案index.html。如果找到該檔案,Web伺服器把該檔案內容傳送給相應的Web瀏覽器。

    為了告知瀏覽器,Web伺服器首先傳送一些HTTP頭資訊,然後傳送具體內容(即HTTP體資訊),HTTP頭資訊和HTTP體資訊之間用一個空行分開。

    常用的HTTP頭資訊有:

    ① HTTP 1.0 200 OK:  這是Web伺服器應答的第一行,列出伺服器正在執行的HTTP版本號和應答程式碼,程式碼"200 OK"表示請求完成。

    ② MIME_Version:1.0: 它指示MIME型別的版本。

    ④ content_length:長度值: 它指示HTTP體資訊的長度(位元組)。

    4.關閉連線:當應答結束後,Web瀏覽器與Web伺服器必須斷開,以保證其它Web瀏覽器能夠與Web伺服器建立連線。

  • 中秋節和大豐收的關聯?
  • 為什麼明明是饃夾著肉卻叫“肉夾饃”呢?