[HTTP權威指南讀書筆記]第一章—HTTP概述

現在已博客爲讀書筆記以達到複習,記錄,理解的功能。


    因爲現在web服務器所使用的是HTTP協議,所以也被成爲HTTP服務器,最明顯的顯示就是在瀏覽器中輸入的網站地址(URL)最開頭便是http://。Http服務器中儲存了internet的數據,如果Http客戶端(最常見的便是瀏覽器了)發送請求的話,它們就會提供數據。客戶端向服務器發送HTTP請求,服務器會在HTTP響應中回送所請求的數據,HTTP客戶端與HTTP服務器共同構成了萬維網的基本組建。

    在服務器中的資源可以是各種各樣的,其中可以有HTML,Word,圖片,視頻等,也可以是根據需求生成內容的軟件程序。

    MIME類型(Multipurpose Internet Mail Extension ,多用途因特網郵件擴展)是用來描述並標記多媒體內容,web服務器會爲所以HTTP對象數據附加一個MIME類型,當web瀏覽器從服務器中取回一個對象時,會去查看相關的MIME類型,看看它是否知道應該如何處理這個對象。如:。

    URI(統一資源標識符)包括了URL(統一資源定位符)與URN(統一資源名,尚未實現)。URL是描述了一個特定服務器上某資源的特定位置,如“http://www.baidu.com/”,大概分爲三個部分,第一部分稱爲方案(scheme)對應http://,第二部分給出服務器的internet地址(如www.joes-hardware.com),其餘部分制訂了web服務器上的某個資源(如:/specials/saw-blade.gif)。

    一個HTTP事務是由一條(從客戶端發送服務器的)請求命令和一個(從服務器發回客戶端的)響應結果組成。這種通信是通過名爲HTTP報文(HTTP message)的格式化數據塊進行的。如:

    HTTP支持幾種不同的請求命令,這些命令被稱爲HTTP方法,每個HTTP請求報文都包含一個方法。這個方法會告訴服務器要執行什麼動作(獲取一個Web頁面,運行一個網關程序,刪除一個文件等)。

每條HTTP響應報文返回時都會攜帶一個狀態碼。狀態碼是一個三位數字的代碼,告知客戶端請求是否成功,或者是否需要採取其他動作。

    HTTP報文包括以下三個部分:

  • 起始行:報文的第一行就是起始行,在請求中用來說明要做些什麼,在響應報文中說明出現了什麼情況。

  • 首部字段:起始行後面有零個或多個首部字段。每個首部字段都包含一個名字和一個值,爲了便於解析,兩者之間用(:)來分割。首部以一個空行結束。添加一個首部字段和添加新行一樣簡單。

  • 主體:空行之後就是可選的報文主體,其中包含了所以類型的數據。請求主體中包括了要發送給web服務器的數據,響應主題中裝載了要返回給客戶端的數據。

    HTTP是建立在TCP上的應用層協議,聯網的細節都交給了TCP/IP了。在TCP/IP中你需要知道服務器的IP地址,以及與服務器上運行的特定軟件相關的TCP端口號,如:

   


第一個URL使用了機器的IP地址,後面80就是端口號。

第二個URL使用的是主機名,是IP地址比較人性化的別稱,可以通過DNS機制轉換爲IP地址。

最後一個URL沒有端口號,HTTP默認端口號爲80

下面展示瀏覽器如何通過HTTP顯示位於遠端服務器中的某個簡單的HTML資源:


    Web的結構組件:

  • 代理:位於客戶端與服務器之間的HTTP中間實體,接收所以客戶端的HTTP請求,並將這些請求轉發給服務器(可能會對請求進行修改之後轉發)。

  • 緩存:Web緩存(web cache)或代理緩存(proxy cache)是一種特殊的HTTP代理服務器,可以將經過傳送的常用文檔複製保存起來,下一個請求同一個文檔的客戶端就可以享受緩存的私有副本所提供的服務了。
  • 網關:一種特殊的服務器,作爲其他服務器的中間實體使用,通常用會將HTTP流浪轉換成其他的協議


  • 隧道:對HTTP通信報文進行盲轉發的特殊代理。通常用來在一條或多條HTTP連接上轉發非HTTP數據,轉發時不會窺探數據。常見用途是通過HTTP鏈接承載加密的安全套接字層(SSL)流量,這樣SSL流量就可以穿過只允許Web流量通過的防火牆了。

  • Agent代理是代表用戶發起HTTP請求的客戶端程序(如web瀏覽器)。也有如web機器人之類的。


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