GET 请求不包含任何 HTTP 正文数据,但如果它以查询字符串的形式提供一些补充数据属性,它们在 GET 请求的 Header 或 Body 中存储在哪里?它们是否也存储在标题中?
例子
...form?email=hi@world.com&comments=good%20site
GET 请求不包含任何 HTTP 正文数据,但如果它以查询字符串的形式提供一些补充数据属性,它们在 GET 请求的 Header 或 Body 中存储在哪里?它们是否也存储在标题中?
例子
...form?email=hi@world.com&comments=good%20site
URI 属性随GET
请求一起发送。如果您从服务器请求页面,则浏览器正在向网络服务器发送请求,如下所示:
<open the connection to www.server.com>
GET /form HTTP/1.1
<server sends document>
如果您GET
发出包含数据的请求,您已经指出的字符串将被简单地添加到 URI
<open the connection to www.server.com>
GET /form?email=hi@world.com@comments=good%20site HTTP/1.1
<server sends document>
这样做的缺点是,在默认 web 服务器日志记录打开的情况下,客户端发送的所有数据都将写入服务器日志,因为它是请求 URI 的一部分!
如需参考,请查看此处:超文本传输协议 -- HTTP/1.1
您引用的属性实际上称为查询字符串(“?”之后的所有内容都被视为查询字符串),并且查询字符串只是整个 URL 的一部分,因此是标头的一部分。它们没有被放入体内。