在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一起发送。
价值观在哪里?在请求标头中?在请求主体中?它看起来像什么?
当前回答
在万维网上的CGI编程中,作者说:
使用POST方法,服务器将数据作为输入流发送到程序。。。。。因为服务器将信息传递给该程序作为输入流,它将环境变量CONTENT_LENGTH设置为以字节(或字符)为单位的数据大小。我们可以使用这可以从标准输入中准确读取那么多数据。
其他回答
内容放在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请求和响应有效负载。
值以内容类型指定的格式在请求正文中发送。
通常,内容类型是application/x-wwww-form-urlencoded,因此请求主体使用与查询字符串相同的格式:
parameter=value&also=another
当您在表单中使用文件上载时,您将改用multipart/form数据编码,它具有不同的格式。它更复杂,但你通常不需要关心它看起来是什么样子,所以我不举一个例子,但知道它的存在会很好。
HTTP POST中的表单值以与查询字符串相同的格式在请求正文中发送。
有关详细信息,请参见规范。
在万维网上的CGI编程中,作者说:
使用POST方法,服务器将数据作为输入流发送到程序。。。。。因为服务器将信息传递给该程序作为输入流,它将环境变量CONTENT_LENGTH设置为以字节(或字符)为单位的数据大小。我们可以使用这可以从标准输入中准确读取那么多数据。
POST请求中的默认媒体类型是application/x-wwww-form-urlencoded。这是一种对键值对进行编码的格式。密钥可以重复。每个键值对用&字符分隔,每个键值用=字符与其值分隔。
例如:
Name: John Smith
Grade: 19
编码为:
Name=John+Smith&Grade=19
这被放置在HTTP头之后的请求体中。