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

 穿过a黑夜_440 发布于 2022-12-01 10:30

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
4 个回答
  • 如@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)
    2022-12-01 10:35 回答
  • 这是不支持当前请求中的Accept Headers,题主检查一下是否限制了或者不支持以下MIME type、encoding算法、locale。

    Accept:text/javascript, application/javascript
    Accept-Encoding:gzip, deflate, sdch
    Accept-Language:zh-CN,zh;q=0.8
    

    我觉得可能是限制了MIME type,限制Accept Headers的方式很多,具体操作还要看具体情况。

    2022-12-01 10:35 回答
  • 如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。

    2022-12-01 10:35 回答
  • 可能是文件权限的问题,用的是nginx?

    2022-12-01 10:35 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有