2015-10-15 93 views
-1

HttpRequestMessage是怎样的?
网站呼叫控制器与我认为这些类型的消息。
我刚才了解到这些消息有一个“正文”。
所以这也意味着有一个标题。
一个HttpRequestMessage的例子将帮助看看这些消息是否还有别的东西(例如页脚)。HttpRequestMessage如何看起来像?

额外的问题:调用控制器的“HttpGet”方法时是否也使用这些消息?他们使用“HttpPost”

*编辑*:我对他们没有任何问题。所以这个问题与我网站的信息无关。我只是想知道他们的样子。当我问到我教的问题时,他们是XML消息,但是阅读@Dark Falcon引用的文档,我意识到它是“CRLF”的。

答案应该是一封邮件的复制和粘贴,不管它是什么。

+2

http://www.w3.org/Protocols/rfc2616/rfc2616.html –

回答

0

我知道,你的问题是旧的。对我来说,这并不是我的理由,但不回答。由于这是没有理由的所有SO用户无法读取它:-)

HTTP消息包括从客户机到服务器的请求和从服务器到客户端 响应。

甲HTTP 请求消息具有以下结构:

<request method> <request target> HTTP/<protocol version> 
<header name>: <header value>,<header value> 
... 
<header name>: <header value>,<header value> 
empty line 
<message body> 

因此,请求消息具有 “请求行” 开始含:

  • request method: 'GET' ,'HEAD','POST','PUT','DELETE','OPTIONS'等;
  • request target:通常是绝对URI或Web服务器上的路径;
  • HTTP protocol version:1.0或1.1或2(未来)。

然后它继续一个标题列表,接着是一个空行,最后是消息正文。

HTTP请求消息的示例:

随着POST

POST /controller/action HTTP/1.1 
Host: yourdemomvc.com 
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT) 
Content-Type: application/x-www-form-urlencoded 
Content-Length: length 

firstname=hello&lastname=world 

消息主体包括将输入的名字和值通过提交形式与方法POST发送。

随着GET

GET /index.php?firstname=hello&lastname=world HTTP/1.1 
Host: yourdemomvc.com 
User-Agent: Mozilla/4.0 
Accept: image/gif, image/jpeg, */* 

在请求行的请求目标(所以,在第一行)不仅显示的路径,而且还查询字符串(如果它被设置)。

所以,是的。这些消息与所有HTTP请求方法一起使用,包括GET。他们的结构保持不变。

在本教程中,您还将找到包含XML主体的请求示例。

对于完成后,一个HTTP响应消息看起来像这样:

HTTP/1.1 200 OK 
Content-Type: text/plain 

The message body in response to the user request. 

资源(除了由@DarkFalcon提供的一个):

0

您可以使用一个工具,如fiddler看HTTP请求和响应,你就可以清楚地看到他们正在做什么,作为你测试你调用Web服务或类似的。像这样的工具对理解和调试基于http的技术非常有用。

+0

这个工具对我所需要的东西来说太多了。教授,我可能会得到我的答案。 – AXMIM

+0

它和用于调试的HTTP流量一样有用,它使用起来非常简单。尝试一下,你可能会发现它回答你的问题。 – Matt