服务器返回的结果,浏览器无法解析,即服务器返回的数据不是浏览器需要的。
MIME类型冲突,请求头Accept设置的接收媒体数据类型与响应头中content-type设置的响应媒体数据类型不一致。例如:请求头设置的是application/json格式,服务器返回的是text/html或text/plan格式。
现象:OA业务系不落地打开文档失败,runParams接口返回406
原因:业务系统添加了身份认证。请求不落地文档url时,因为身份认证未通过,跳转到了登录页面。响应的数据变成了网页,即响应的媒体数据类型变成了text/html。而浏览器请求的媒体数据类型是二进制流,即Accept设置的媒体格式类型为application/octet-stream。导致服务器端返回的结果客户端无法解析。
解决:不落地文档url加上身份认证信息,保证不落地文档url在浏览器可以正常下载。
状态码406定义:
服务器返回的结果,浏览器无法解析,即服务器返回的数据不是浏览器需要的。
问题原因:
MIME类型冲突,请求头Accept设置的接收媒体数据类型与响应头中content-type设置的响应媒体数据类型不一致。例如:请求头设置的是application/json格式,服务器返回的是text/html或text/plan格式。
案例分析:
现象:OA业务系不落地打开文档失败,runParams接口返回406
原因:业务系统添加了身份认证。请求不落地文档url时,因为身份认证未通过,跳转到了登录页面。响应的数据变成了网页,即响应的媒体数据类型变成了text/html。而浏览器请求的媒体数据类型是二进制流,即Accept设置的媒体格式类型为application/octet-stream。导致服务器端返回的结果客户端无法解析。
解决:不落地文档url加上身份认证信息,保证不落地文档url在浏览器可以正常下载。
📋 章节目录
状态码406定义: 问题原因: 案例分析: