2011-03-18 48 views
1

我的請求頭:內容類型的http請求需要任何特定處理程序:Apache上的JSON?

GET /abs/ad-content/id/1277954_1 HTTP/1.1 
Host: myhost.com 
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 
Accept: application/json, text/javascript, */* 
Accept-Language: en-us,en;q=0.5 
Accept-Encoding: gzip,deflate 
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 
Keep-Alive: 115 
Connection: keep-alive 
Content-Type: application/json; charset=utf-8 
X-Requested-With: XMLHttpRequest 

請注意:

Content-Type: application/json; charset=utf-8 

但似乎我的服務器無法處理它。

$request->getHeader('Content-Type'); 

被服務器返回爲空。

我需要添加一些處理程序/ MIME類型才能使它工作嗎?

編輯:此標題出現在我的Windows Apache本地主機,但在Bluehost Apache共享服務器上丟失。

+0

我不認爲阿帕奇進來,除非你有一些奇怪的過濾器/ .htaccess規則 – 2011-03-18 20:56:44

回答

2

在一般情況下,它並不期望一個GET request有一個身體,因爲它意味着是隻爲信息檢索safe method

特別是,該公約已經確定,GET和 HEAD方法不應該具有采取檢索以外的動作 的意義。這些方法應該被認爲是「安全的」。 這允許用戶代理以一種特殊的方式表示其他方法,例如POST,PUT 和DELETE,以便使用戶意識到正在請求可能不安全的操作的事實。

所以我猜Apache或編程語言/框架您使用跳過/省略任何entity header fields,因爲它不希望任何包含實體。

+0

投票解釋。但是發佈一些虛擬發佈數據的請求表現相同。 – understack 2011-03-19 12:41:14

+0

@understack:你使用什麼語言/框架? – Gumbo 2011-03-19 12:48:36

+0

php,zend框架1.10 – understack 2011-03-23 12:59:55

相關問題