【发布时间】:2011-02-15 22:25:27
【问题描述】:
什么意思?
- 在标头中指定编码的编码内容字符串的字节数。
- 内容字符串的字符数。
尤其是Content-Type: application/x-www-form-urlencoded。
【问题讨论】:
标签: http-headers
什么意思?
尤其是Content-Type: application/x-www-form-urlencoded。
【问题讨论】:
标签: http-headers
它是请求或响应正文中的数据字节数。正文是标题下方空行之后的部分。
【讨论】:
Content-Length entity-header 字段表示 entity-body,十进制的八进制数,发送给接收者,或者,在 在 HEAD 方法的情况下,实体主体的大小将 如果请求是 GET,则已发送。
内容类型是什么并不重要。
扩展名为post below。
【讨论】:
Content-Length 标头是一个数字,表示 HTTP 正文的确切字节长度。 HTTP 正文在开始行和标头之后的第一个空行之后立即开始。
一般Content-Length标头用于HTTP 1.1,以便接收方知道当前响应何时完成*,所以connection can be reused for another request。
* ...或请求,对于具有主体的请求方法,例如 POST、PUT 或 PATCH
或者,Content-Length 标头可以省略,并且可以使用分块的Transfer-Encoding header。
如果Content-Length 和Transfer-Encoding 标头都缺失,则在响应结束时必须关闭连接。
以下资源是我在学习 HTTP 时发现非常有用的指南:
【讨论】:
一个八位组是 8 位。 content-length 是消息正文所代表的八位字节数。
【讨论】:
OCTET 这里有一个非常具体的含义,意思是。请参阅w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2 处的定义
Content-Length 实体标头字段 表示实体的大小, 十进制的八进制数,发送到 收件人,或者,如果是 HEAD方法,大小 将被发送的实体主体 如果请求是 GET。
Content-Length = "Content-Length" ":" 1*DIGIT一个例子是
Content-Length: 3495应用程序应该使用这个字段来 表示的传输长度 消息体,除非这是 被section 4.4 中的规则禁止。
任何内容长度大于或 等于零是一个有效值。 第 4.4 节描述了如何确定 消息体的长度,如果 a 没有给出内容长度。
注意这个字段的含义是 明显不同于 MIME中的相应定义, 它是使用的可选字段 在“消息/外部正文”中 内容类型。在 HTTP 中,它应该是 只要消息的长度可以发送 在被确定之前 转移,除非这是被禁止的 根据第 4.4 节中的规则。
我的解释是,这意味着“在线”的长度,即*编码的内容的长度
【讨论】:
到目前为止,POST 最常见的用法是, 是将HTML表单数据提交给CGI 脚本。在这种情况下, Content-Type: header 通常是 应用程序/x-www-form-urlencoded, 并且 Content-Length: 标头给出 URL 编码形式的长度 数据(这里是关于 URL 编码的注释)。 CGI 脚本接收消息 体通过标准输入,并对其进行解码。 这是一个典型的表单提交, 使用 POST:
POST /path/script.cgi HTTP/1.0 From: frog@jmarshall.com User-Agent: HTTPTool/1.0 Content-Type: application/x-www-form-urlencoded Content-Length: 32
【讨论】:
根据spec:
Content-Length entity-header 字段指示发送给接收者的实体主体的大小,以十进制的八进制数表示,或者在 HEAD 方法的情况下,实体主体的大小将具有如果请求是 GET,则已发送。
Content-Length = "Content-Length" ":" 1*DIGIT一个例子是
Content-Length: 3495应用程序应该使用该字段来指示消息体的传输长度,除非这被第 4.4 节中的规则禁止。
任何大于或等于零的 Content-Length 都是有效值。 4.4 节描述了在没有给出 Content-Length 的情况下如何确定消息体的长度。
请注意,此字段的含义与 MIME 中的相应定义有很大不同,后者是在“消息/外部正文”内容类型中使用的可选字段。在 HTTP 中,只要可以在传输之前确定消息的长度,就应该发送它,除非 4.4 节中的规则禁止这样做。
【讨论】:
考虑是否有以下标题:
content-encoding: gzip
content-length: 52098
content-type: text/javascript; charset=UTF-8
content-length 是 压缩 消息体的大小,以“八位字节”为单位(即以 8 位为单位,恰好是“字节”所有现代计算机)。
实际消息正文的 大小 可以是其他值,可能是 150280 字节。
字符的数量又可以不同,可能是 150231 个字符,因为一些 unicode 字符使用多个字节(注意 UTF-8 是标准编码)。
因此,不同的数字取决于您是否关心传输了多少数据、保存了多少数据或看到了多少符号。当然,不能保证会提供这些标头..
【讨论】:
Content-Length entity-header 字段指示发送给接收者的实体主体的大小,以十进制的八进制数表示,或者在 HEAD 方法的情况下,实体主体的大小将具有如果请求是 GET,则已发送。
Content-Length = "Content-Length" ":" 1*DIGIT
一个例子是
内容长度:1024
应用程序应该使用这个字段来指示消息体的传输长度。
在 PHP 中你会使用这样的东西。
header("Content-Length: ".filesize($filename));
在“Content-Type: application/x-www-form-urlencoded”的情况下,编码数据被发送到指定的处理代理,因此您可以设置要发布的数据的长度或大小。
【讨论】: