URI属性存储在GET请求HEAD或BODY中的哪个位置?

时间:2012-12-06 13:09:45

标签: http get http-headers request

GET请求不包含任何HTTP正文数据,但是如果它以查询字符串的形式提供一些补充数据属性,它们在Header或Body中的GET请求中存储在哪里? 它们是否也存储在标题中?

示例

...form?email=hi@world.com&comments=good%20site

2 个答案:

答案 0 :(得分:2)

使用GET请求发送URI属性。如果您从服务器请求页面,则浏览器正在向Web服务器发送请求,如下所示:

<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服务器日志记录的情况下,客户端发送的所有数据都将写入服务器日志,因为它是REQUEST URI的一部分!

有关参考,请查看此处:Hypertext Transfer Protocol -- HTTP/1.1

答案 1 :(得分:0)

您引用的属性实际上称为查询字符串(&#39;?&#39;之后的所有内容都被视为查询字符串),查询字符串只是整个URL的一部分,因此是标题的一部分。它们没有被放入体内。