Http

瀏覽器是否實現了 HTTP 協議?

  • October 25, 2015

我對 TCP/IP 堆棧的理解是應用層(第 4 層)由 HTTP 等協議實現組成。

像 Web 瀏覽器這樣的使用者代理是否自己實現了這個 HTTP 協議?即使用者代理本身是否負責格式化數據包以符合 HTTP 協議,然後將消息傳遞到傳輸層?或者使用者代理是否將請求數據傳遞給作業系統上實現 HTTP 協議的特定係統應用程序?

是的。例如:https ://www.chromium.org/developers/design-documents/network-stack 。

這就是為什麼有些瀏覽器支持某些特性(例如 Http/2)而有些不支持的原因。

HTTP 是應用程序或它使用的某個庫的責任。

您可以通過查看一些程式碼來了解它們是如何組合在一起的

像這樣http://search.cpan.org/~ether/HTTP-Message-6.11/lib/HTTP/Request.pm

而這個https://stackoverflow.com/questions/1359689/how-to-send-http-request-in-java

HTTP 是第 7 層

https://en.wikipedia.org/wiki/List_of_network_protocols_(OSI_model)

引用自:https://serverfault.com/questions/731488