看起来二进制会更紧凑并且可以以标准方式反序列化,为什么使用文本代替?这似乎效率低下,Web 框架被迫只做与字符串相关的事情。为什么没有二进制标准?网络将变得更快,浏览器将能够非常快速地加载二进制页面。
如果我要启动一个二进制协议(HBP 超二进制协议),我会定义什么样的标准?
HTTP 协议本身可以作为文本读取。这很有用,因为您可以远程登录到任何服务器并与其通信。
作为文本还可以让您轻松地使用像wireshark这样的程序观看HTTP通信。然后您可以轻松诊断问题的根源。
HTTP 定义了一种工作方式resources
。这些资源不需要是文本,它们可以是图像或其他任何内容。文本资源可以通过指定以二进制形式发送Content-Encoding
标头。您的资源类型是通过以下方式指定的Content-Type
header.
所以你的问题实际上只适用于 HTTP 协议本身,而不是有效负载(即资源)。
网络将变得更快,浏览器将能够非常快速地加载二进制页面。
我认为这不是真的。最慢的部分可能是连接建立和TCP 启动慢 http://en.wikipedia.org/wiki/Slow-start.
以下是 HTTP 响应如何发送具有二进制表示形式的文本资源的示例:
HTTP/1.1 200 好
服务器:阿帕奇/2.0
内容编码:gzip
内容长度:1533
内容类型:text/html;字符集=ISO-8859-1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)