HTTP 请求中 HTML 前后的奇怪字符
Strange characters preceding and following HTML in HTTP request
背景
我正在使用套接字在 C++/CX 中构建自定义 HTTP 解析器。因此,我可以完全控制整个 HTTP 请求和响应。
要求
GET /posts/html-android-app?referrer=rss HTTP/1.1
Host: mixturatech.com
Connection: close
回应
HTTP/1.1 200 OK
Date: Thu, 30 Apr 2015 04:44:59 GMT
Server: Apache
X-Powered-By: PHP/5.2.17
Access-Control-Allow-Origin: *
Cache-Control: public
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html
6a2f
<!DOCTYPE html>
[trimmed document content]
</html>
0
附加数据
如果我使用 Chrome 导航到网页,WireShark 会捕获我看到的相同数据(带有无关字符),但 Chrome 设法 trim 输出该内容。 (我正在开发人员工具的“网络”选项卡中查看 Chrome 的数据。)
我并没有在我检索到的每个站点上都看到这个问题,但是这个问题(如果存在的话)似乎是整个站点都存在的。
问题
- 文档前后的
6a2f
和 0
是怎么回事?
- 这是编码问题吗?
- 有没有什么方法可以让我明确识别文档的硬编码边界,例如它必须以
<
开头并以 >
结尾,实际内容在哪里?
- 如果这些字符存在于页面中,是否总是分别限制为 4 和 1 的长度?
这是"chunked transfer encoding"。阅读 http://greenbytes.de/tech/webdav/rfc7230.html#chunked.encoding.
背景
我正在使用套接字在 C++/CX 中构建自定义 HTTP 解析器。因此,我可以完全控制整个 HTTP 请求和响应。
要求
GET /posts/html-android-app?referrer=rss HTTP/1.1
Host: mixturatech.com
Connection: close
回应
HTTP/1.1 200 OK
Date: Thu, 30 Apr 2015 04:44:59 GMT
Server: Apache
X-Powered-By: PHP/5.2.17
Access-Control-Allow-Origin: *
Cache-Control: public
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html
6a2f
<!DOCTYPE html>
[trimmed document content]
</html>
0
附加数据
如果我使用 Chrome 导航到网页,WireShark 会捕获我看到的相同数据(带有无关字符),但 Chrome 设法 trim 输出该内容。 (我正在开发人员工具的“网络”选项卡中查看 Chrome 的数据。)
我并没有在我检索到的每个站点上都看到这个问题,但是这个问题(如果存在的话)似乎是整个站点都存在的。
问题
- 文档前后的
6a2f
和0
是怎么回事? - 这是编码问题吗?
- 有没有什么方法可以让我明确识别文档的硬编码边界,例如它必须以
<
开头并以>
结尾,实际内容在哪里? - 如果这些字符存在于页面中,是否总是分别限制为 4 和 1 的长度?
这是"chunked transfer encoding"。阅读 http://greenbytes.de/tech/webdav/rfc7230.html#chunked.encoding.