ホームページ >バックエンド開発 >PHPチュートリアル >HTTP 请求406如何解决?有截图
<code> Remote Address:223.4.156.22:80 Request URL:http://www.die.com/data/misc/region_data.js Request Method:GET Status Code:406 Not Acceptable Request Headersview source Accept:text/javascript, application/javascript Accept-Encoding:gzip, deflate, sdch Accept-Language:zh-CN,zh;q=0.8 Connection:keep-alive Cookie:s=76c4209248040f971033f6a755a837c8; MLV=1; CUR=CNY; S[MEMBER]=47; vary=7c1b8c502101e09089c008d38da3ad3f4c56de2d50fe6d8b08a206b17a6436ce; Hm_lvt_ea7ddf915b0403f14eb1517f294548a8=1420108845; Hm_lpvt_ea7ddf915b0403f14eb1517f294548a8=1420112503; _ga=GA1.2.1202397504.1420108845; _gat=1; source=null; S[CART_COUNT]=1; S[CART_NUMBER]=1; S[CART_TOTAL_PRICE]=%EF%BF%A5219.00 Host:www.dijoncake.com RA-Sid:3CC2F472-20141209-011155-3fbd59-3b026e RA-Ver:2.8.6 Referer:http://www.dijoncake.com/index.php/wap/cart-shipping_edit-true.html User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 X-Requested-With:XMLHttpRequest Response Headersview source Content-Length:1313 Content-Type:text/html Date:Thu, 01 Jan 2015 11:41:23 GMT Server:Microsoft-IIS/6.0 X-Powered-By:ASP.NET X-UA-Compatible:IE=EmulateIE7</code>
<code> Remote Address:223.4.156.22:80 Request URL:http://www.die.com/data/misc/region_data.js Request Method:GET Status Code:406 Not Acceptable Request Headersview source Accept:text/javascript, application/javascript Accept-Encoding:gzip, deflate, sdch Accept-Language:zh-CN,zh;q=0.8 Connection:keep-alive Cookie:s=76c4209248040f971033f6a755a837c8; MLV=1; CUR=CNY; S[MEMBER]=47; vary=7c1b8c502101e09089c008d38da3ad3f4c56de2d50fe6d8b08a206b17a6436ce; Hm_lvt_ea7ddf915b0403f14eb1517f294548a8=1420108845; Hm_lpvt_ea7ddf915b0403f14eb1517f294548a8=1420112503; _ga=GA1.2.1202397504.1420108845; _gat=1; source=null; S[CART_COUNT]=1; S[CART_NUMBER]=1; S[CART_TOTAL_PRICE]=%EF%BF%A5219.00 Host:www.dijoncake.com RA-Sid:3CC2F472-20141209-011155-3fbd59-3b026e RA-Ver:2.8.6 Referer:http://www.dijoncake.com/index.php/wap/cart-shipping_edit-true.html User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 X-Requested-With:XMLHttpRequest Response Headersview source Content-Length:1313 Content-Type:text/html Date:Thu, 01 Jan 2015 11:41:23 GMT Server:Microsoft-IIS/6.0 X-Powered-By:ASP.NET X-UA-Compatible:IE=EmulateIE7</code>
如@yjl所猜测,在IIS中,默认情况下,js对应的MIME type 确实是application/x-javascript
。
参考:http://msdn.microsoft.com/en-us/library/bb742440.aspx,在页面中搜索javascript
解决办法有两个。
Accpet
字段中加一个application/x-javascript
(我测试通过)。text/javascript
这个MIME type。(Configure MIME Types IIS 6.0)
这是不支持当前请求中的Accept Headers
,题主检查一下是否限制了或者不支持以下MIME type、encoding算法、locale。
<code>Accept:text/javascript, application/javascript Accept-Encoding:gzip, deflate, sdch Accept-Language:zh-CN,zh;q=0.8 </code>
我觉得可能是限制了MIME type,限制Accept Headers
的方式很多,具体操作还要看具体情况。
如Kavlez指出的,406的话,问题一般出在Accept, Accept-Charset, Accept-
Encoding, Accept-Language headers 这几个Header。
对于你的情况,应该是Accept:text/javascript, application/javascript
的问题。可能server端用的是“application/x-javascript”,所以有406。你可以试着用Firefox/Chrome的REST Client插件,把你的Request的内容贴进去,然后把Accept:text/javascript, application/javascript
替换成Accept:*/*
(接受任何content types,BTW,这个type不指MIME type),然后试试发送,应该会返回200OK。
可能是文件权限的问题,用的是nginx?