http的refer头------说说最近遇到的http 403错误

        最近遇到这样一个问题, 用php吐出html, 在html中, 用<a>指向了一个视频资源的url, 但是, 当去点击这个链接的时候, 视频的url地址出现在浏览器新窗口的地址栏中, 只是没有播放,   抓包看了一下, 原来, 在访问url时, 对端返回403错误码。  然后我在浏览器地址栏中按一下enter, 就可以播放了。

        奇怪了, 为什么从anchor进去的url无法直接播放呢?  于是, 我把页面对应的html代码复制, 保存在PC桌面上的test.html中并在浏览器中打开, 然后再去点击anchor中的url, 居然能打开, 抓包看, 对端返回的是http 200

        这就好了, 将两个包进行对比, 发现请求的url都一样, 但是http头不一样。 在有问题的http包中携带了refer字段, 而正常的http中没有refer字段。 原来, 是视频资源端拒绝了该refer的访问 (403错误码的启示)。

        找到了问题根源, 解决办法就很简单了:  将<a>的rel属性赋值为noreferrer(不要漏了r字母哈, 否则呵呵哒)即可, 这样那个就不会携带refer字段了, 也就不会被拒绝了, 点击anchor对应的url, 就可以直接播放视频了。

        以前总是看书上的http, 不深刻, 没啥感知。 还是应该在实战中提高啊得意吐舌头羡慕












  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值