2015-10-15 82 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