如何解决使用Range http标头时,Chrome不发送Cookie
我有一个pdf文档(〜2MB),只有在用户身份验证后才能打开。
用户登录并在浏览器中请求pdf文件(显示在浏览器中,未下载)
第一个请求:
$('a').click(function() {
$('.link-active-td').removeClass('link-active-td');
$('.link-active-text').removeClass('link-active-text');
console.log($(this).attr("id"));
var linkid = $(this).attr("id");
$("#" + linkid).children().addClass('link-active-td');
$("#" + linkid).parent().addClass('link-active-text');
});
});````
Chrome发送所有cookie(按预期方式),并且服务器以代码200响应,并且:
响应1:
/docs/secure/test.pdf
之后,Chrome再次发送文件剩余部分的请求:
浏览器发起的第二个请求:
...
Accept-Ranges: bytes
...
但是有此请求,它确实不发送任何cookie,这是一个问题,因为服务器(IIS)无法授权该请求,并返回带有位置标头的代码302:
...
Range: bytes=786432-1429583
...
结果-浏览器中仅显示pdf的首页。
为什么浏览器不通过第二个请求发送cookie?
能做些什么来克服这个问题吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。