第二部分 HTTP結構——第5章Web服務器

Web服務器工作流程

  1. 建立連接——接受一個客戶端連接,或者如果不希望與這個客戶端建立連接,就將其關閉
  2. 接收請求——從網絡中讀取一條HTTP請求報文
  3. 處理請求——對請求報文進行解釋,並採取行動
  4. 訪問資源——訪問報文中指定的資源
  5. 構建響應——創建帶有正確首部的HTTP響應報文
  6. 發送響應——將響應回送給客戶端
  7. 記錄事務處理過程——將與已完成事務有關的內容記錄在一個日誌文件中

基本Web服務器請求的步驟

1.建立連接

Web服務器可以隨意拒絕或立即關閉任意一條連接。有些Web服務器會因爲客戶端IP地址或主機名是未認證的,或者因爲它是已知的惡意客戶端而關閉連接。

2.接收請求

Web服務器集中幾種請求服務的方式:

  1. 單線程Web服務器
  2. 多進程及多線程Web服務器
  3. 複用I/O的服務器
  4. 複用的多線程Web服務器

5.構建響應

重定向:

Web服務器有時會返回重定向響應而不是成功的報文。Web服務器可以將瀏覽器重定向到其他地方來執行請求。重定向響應由返回碼3XX說明。Location響應首部包含了內容的新地址或優選地址的URL。重定向適用的情況。

  • 永久搬離的資源(301)
  • 臨時搬離的資源(303和307)
  • URL增強
  • 負載均衡
  • 服務器關聯
  • 規範目錄名稱

服務器關聯

Web服務器上可能會有某些用戶的本地信息;服務器可以將客戶端重定向到包含了那個客戶端信息的服務器上去。(303和307)

規範目錄名稱

客戶端請求的URI是一個不帶尾部斜線的目錄名時,大多數Web服務器都會將客戶端重定向到一個加了斜線的URI上,這樣相對連接就可以正常工作了。(303和307)

有時會將這些經過擴展和狀態增強的URL稱爲“胖URL”

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章