2012-02-28 107 views
2

關於HTTP協議的闡述太多了。但就其本質而言,只不過是通過TCP協議傳輸的一串ASCII字符。而字符串定義協議的語義。我對嗎?HTTP協議的本質

如果是這樣,2個問題如下:

  1. 我們可以設計任何協議,因爲我們希望,因爲它只是看起來像 字符串傳遞在互聯網上。
  2. 爲什麼我們在將HTTP字符串傳遞給TCP級別之前不壓縮HTTP字符串?

回答

2

沒錯,HTTP絕不是特別的,但是因爲它支撐着網絡,它受到了很多關注。這是一個應用程序級別的協議,如SMTP或FTP或任何其他。

  1. 是的,你可以設計你喜歡的任何協議。爲了好玩,抓住SMTP,FTP或HTTP的RFC並連接到你自己的服務器並學習協議。 RFC2324也需要閱讀 - http://www.faqs.org/rfcs/rfc2324.html
  2. 近幾年來,缺乏HTTP頭壓縮技術已經被大量討論。請參閱Steve Souders的博客/書籍,YSlow!和Google Page Speed網站。 SPDY協議可能會成爲解決當前HTTP連接管理,性能和安全問題的領跑者 - http://www.chromium.org/spdy/spdy-whitepaper
2
  1. 當然。但是你必須讓別人採用你的協議(除非它是內部/專有規範)。如果你能以HTTP的形式連貫地表達你的公報,爲什麼不使用它呢?它在幾乎所有的語言和操作系統中都得到了廣泛的應用,並且很好理解並且易於調試。不要僅僅爲它創建協議。
  2. HTTP規範provides for several common compression schemes。 gzip和deflate被特別廣泛地使用。例如,請參閱Apache的mod_gzip和mod_deflate。客戶端和服務器通常以您的名義協商壓縮。
+0

HTTP標頭無法壓縮 - http://stackoverflow.com/questions/3110546/how-to-compress-http-response-headers – 2012-02-28 10:44:05

+0

顯然。我認爲OP指的是有效負載本身(「HTTP字符串」非常模糊),它通常比標頭大得多,因此值得壓縮。 – 2012-02-28 10:58:07