HTTP中的二进制模式?
直到今天,我还认为HTTP是一种纯文本协议 现在我转到Windows中的Telnet并键入:HTTP中的二进制模式?,http,networking,binary,Http,Networking,Binary,直到今天,我还认为HTTP是一种纯文本协议 现在我转到Windows中的Telnet并键入: telnet reactos.org 80 GET /favicon.ico HTTP/1.0 按两次“输入”,查看以下内容: 这绝对不是Base64 HTTP真的支持二进制传输吗?我找不到任何与此相关的文档。HTTP协议是基于文本的,但消息体由标题中指定的内容类型定义。在您的例子中,内容类型是图像/x图标,它是一种二进制格式 还要注意,编码和基于文本的协议是不相关的。仅当编码为ASCII时,才需
telnet reactos.org 80
GET /favicon.ico HTTP/1.0
按两次“输入”,查看以下内容:
这绝对不是Base64
HTTP真的支持二进制传输吗?我找不到任何与此相关的文档。HTTP协议是基于文本的,但消息体由标题中指定的内容类型定义。在您的例子中,
内容类型
是图像/x图标
,它是一种二进制格式
还要注意,编码和基于文本的协议是不相关的。仅当编码为ASCII时,才需要Base-64。默认的内容编码
是标识
(无压缩,无修改)。使用另一种内容编码
,即使文本内容类型
:也会在正文中获得二进制数据,因为它们会被压缩