在HTTP GET请求中,参数作为查询字符串发送:
http://example.com/page?parameter=value&also=another
在HTTP POST请求中,参数不会与URI一起发送。
价值观在哪里?在请求标头中?在请求主体中?它看起来像什么?
在HTTP GET请求中,参数作为查询字符串发送:
http://example.com/page?parameter=value&also=another
在HTTP POST请求中,参数不会与URI一起发送。
价值观在哪里?在请求标头中?在请求主体中?它看起来像什么?
当前回答
不能直接在浏览器URL栏上键入。
例如,您可以看到POST数据是如何通过Live HTTP Headers在Internet上发送的。结果会是这样的
http://127.0.0.1/pass.php
POST /pass.php HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Referer: http://127.0.0.1/pass.php
Cookie: passx=87e8af376bc9d9bfec2c7c0193e6af70; PHPSESSID=l9hk7mfh0ppqecg8gialak6gt5
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 30
username=zurfyx&pass=password
上面写着
Content-Length: 30
username=zurfyx&pass=password
将是后值。
其他回答
POST请求中的默认媒体类型是application/x-wwww-form-urlencoded。这是一种对键值对进行编码的格式。密钥可以重复。每个键值对用&字符分隔,每个键值用=字符与其值分隔。
例如:
Name: John Smith
Grade: 19
编码为:
Name=John+Smith&Grade=19
这被放置在HTTP头之后的请求体中。
后置参数有多种方式/格式
表单数据原始数据json文件编码数据文件xml格式
它们由Header中表示为mime类型的内容类型控制。
HTTP POST中的表单值以与查询字符串相同的格式在请求正文中发送。
有关详细信息,请参见规范。
首先,让我们区分GET和POST
Get:这是向服务器发出的默认HTTP请求,用于从服务器检索数据和后面的查询字符串?用于检索唯一资源。
这是格式
GET /someweb.asp?data=value HTTP/1.0
这里data=value是传递的查询字符串值。
POST:它用于将数据安全地发送到服务器,因此需要任何东西,这是POST请求的格式
POST /somweb.aspHTTP/1.0
Host: localhost
Content-Type: application/x-www-form-urlencoded //you can put any format here
Content-Length: 11 //it depends
Name= somename
为什么要通过GET进行POST?
在GET中,发送到服务器的值通常附加到查询字符串中的基URL,现在有两种结果
GET请求与参数一起保存在浏览器历史记录中。因此,您的密码在浏览器历史记录中保持未加密状态。这在当时对Facebook来说是一个真正的问题。通常服务器对URI的长度有限制。如果发送的参数太多,您可能会收到414错误-URI太长
如果是后期请求,则字段中的数据将添加到正文中。计算请求参数的长度,并将其添加到内容长度的标头中,没有重要数据直接附加到URL。
您可以使用GoogleDeveloperTools的网络部分查看有关如何向服务器发出请求的基本信息。
并且您可以始终在请求头中添加更多值,如缓存控制、源、接受。
内容放在HTTP头之后。HTTP POST的格式是HTTP头,后跟一个空行,后跟请求体。POST变量作为键值对存储在主体中。
您可以在HTTP 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
home=Cosby&favorite+flavor=flies
您可以使用Fiddler这样的工具看到这一点,您可以使用它来监视通过网络发送的原始HTTP请求和响应有效负载。