GET请求可用于检索图像和文本以及我猜测的其他内容。无需指定Content-type
。
这些数据在位级别上是什么样的?如果你正在查看HTTP数据包中的1和0,那么什么规范决定了这里可以放置什么。
使用客户端,当我通过ajax GET发送/接收数据时,数据是直接传输到数据包中的1和0还是有某种转换?
例如:
xhr = new win.XMLHttpRequest();
xhr.open('GET', config_ajax.url, true);
xhr.onload = function () {
if (this.status === 200) {
config_ajax.callback(xhr.responseText);
}
};
xhr.send(send);
// example data
send = "0xFF";
xhr.responseText = "0x0A"
如果他们正在分析比特流,是否会看到11111111
被发送并且00001010
被接收了?
答案 0 :(得分:1)
我想没有必要指定Content-type。这个数据在比特级别看起来是什么样的?如果你正在查看HTTP数据包中的1和0,那么什么规范决定了这里可以放置什么。
您正在寻找HTTP规范本身section 7。事实上,它的工作方式与你想象的完全相同:
7实体
请求和响应消息如果没有,则可以转移实体 受请求方法或响应状态代码限制。一个 虽然实体由实体标题字段和实体主体组成 一些回复只包含实体标题。
在本节中,发件人和收件人都指客户端 或服务器,取决于谁发送和谁接收实体。
在本节中,发件人和收件人都指的是 客户端或服务器,取决于谁发送和谁接收 实体。
7.1实体标题字段
实体标题字段定义有关实体主体的元信息 或者,如果没有身体,则关于由...识别的资源 请求。这些元信息中的一些是可选的;有些人可能会 本规范的部分内容要求。
entity-header = Allow ; Section 14.7 | Content-Encoding ; Section 14.11 | Content-Language ; Section 14.12 | Content-Length ; Section 14.13 | Content-Location ; Section 14.14 | Content-MD5 ; Section 14.15 | Content-Range ; Section 14.16 | Content-Type ; Section 14.17 | Expires ; Section 14.21 | Last-Modified ; Section 14.29 | extension-header extension-header = message-header
扩展标头机制允许额外的实体标头 在不改变协议的情况下定义字段,但这些字段 字段不能被假定为接收者可识别。 收件人应该忽略无法识别的标题字段 必须由透明代理转发。
7.2实体正文
使用HTTP请求或响应发送的实体主体(如果有)是 以实体标题字段定义的格式和编码。
entity-body = *OCTET
实体主体仅在消息正文时出现在消息中 现在,如4.3节所述。获得实体主体 通过解码可能的任何Transfer-Encoding从消息体中获取 已被用于确保安全和正确地传递信息。
7.2.1类型
当实体主体包含在消息中时,数据类型为 该主体是通过标题字段Content-Type和确定的 内容编码。这些定义了两层有序编码 模型:
entity-body := Content-Encoding( Content-Type( data ) )
Content-Type指定基础数据的媒体类型。 内容编码可用于指示任何附加内容 编码应用于数据,通常用于数据目的 压缩,它是所请求资源的属性。有 没有默认编码。
包含实体主体的任何HTTP / 1.1消息应该包含一个 Content-Type标头字段,用于定义该主体的媒体类型。如果 并且只有当Content-Type字段没有给出媒体类型时, 收件人可以尝试通过检查媒体类型来猜测媒体类型 用于标识的URI的内容和/或名称扩展名 资源。如果媒体类型仍然未知,则收件人应该 将其视为“application / octet-stream”类型。
7.2.2实体长度
消息的实体长度是消息体的长度 在进行任何转移编码之前。第4.4节定义 如何确定消息体的传输长度。