posts | comments | archives | links | create | song
(reminder: all quotes here are fiddled, probably.)

互聯網怎樣運作 (4/4) (翻譯練習)

  • 溯洄從之

  • 節譯自大師級hacker人物ESR所寫的Unix-and-Internet-Fundamentals-HOWTO

    13.4. HTTP:一種應用程式傳輸協定

    回到原來的例子。網絡瀏覽器和伺服器用某種在 TCP/IP 上運行的應用程式傳輸協定互相通話,實際上是簡單地以這種協定為方法,把字串傳來傳去。這個傳輸協定稱為 HTTP(Hypertext Transfer Protocol,超文本傳輸協定),這種協定的指令我們已經見過一個了──就是上面提到的GET指令。

    當 GET 指令帶著 service number 80 一起發送到 www.tldp.org 的 webserver,指令會送到一直在 80 號端口上監聽的 server daemon 手上。大多數互聯網服務都由那些無所事事、只在端口上乾等的 server daemon 處理,它們負責守候和執行送來的指令。

    如果互聯網的設計有一條大原則的話,那就是每一部分都應該盡量簡單而且人類看得明白(human-accessible)。HTTP和它的親戚(像 SMTP──Simple Mail Transfer Protocol,簡單郵件傳輸協定──用來在主機之間傳送電子郵件)都趨於使用以句尾帶換行符號 carriage-return/line feed 的簡單可列印文字指令。

    這樣做,邊際效率很低;在一些情形下,用壓縮得緊緊密密的二進碼傳輸協定(binary protocol)傳送,速度的確較高。但是經驗顯示,讓人容易描述、容易明白的指令,好處遠超過你可能在任何省位手段的邊際效率上所獲得的益處,因為用二進碼傳輸協定的代價,是把事情弄得難懂和不透明。

    因此,server daemon 以 TCP/IP 傳回的也是文字檔。回覆的開始大約是下面的東西(一些標頭省略了):


    HTTP/1.1 200 OK
    Date: Sat, 10 Oct 1998 18:43:35 GMT
    Server: Apache/1.2.6 Red Hat
    Last-Modified: Thu, 27 Aug 1998 17:55:15 GMT
    Content-Length: 2982
    Content-Type: text/html


    緊隨這些標頭而來的是些空行和網頁的內文(之後通訊就終止了)。瀏覽器把網頁顯示出來,而標頭通知它要怎樣顯示(例如內容類型標頭(content-type header)告訴它回傳的資料確實是 HTML)。




    延伸:
    * 互聯網怎樣運作 (1/4)
    * 互聯網怎樣運作 (2/4)
    * 互聯網怎樣運作 (3/4)
    * 互聯網怎樣運作 (4/4)

    0 Comments:

    coComment


    :: Kommentar veröffentlichen
     (留言請留名, 謝!)

    << Home