Home > Backend Development > PHP Tutorial > HTTP 请求406如何解决?有截图

HTTP 请求406如何解决?有截图

WBOY
Release: 2016-06-06 20:39:33
Original
2499 people have browsed it

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>
Copy after login
Copy after login

回复内容:

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>
Copy after login
Copy after login

如@yjl所猜测,在IIS中,默认情况下,js对应的MIME type 确实是application/x-javascript
参考:http://msdn.microsoft.com/en-us/library/bb742440.aspx,在页面中搜索javascript

解决办法有两个。

  1. 将请求的Accpet字段中加一个application/x-javascript(我测试通过)。
  2. 在IIS中给js添加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>
Copy after login

我觉得可能是限制了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?

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template