2011-03-18 50 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

相关问题