http header 总结

经过一天半的时间,终于是解决了request头部无法放入authorization键值的问题,试了很多种方法,绕了很多弯路,甚至将整个框架从1.19版本提升到2.22版本,最后发现仅仅是response.addHeader写成了response.setHeader的问题,当最后发现这个问题的时候,都不知道是该高兴还是悲哀。

究其原因,出现这种小bug却浪费了我大部分的时间的原因是,对于HTTP协议的不了解,遇到问题只知道Google或者stackflow,没有从原理上下功夫,项目中需要实现的功能,也是参考网上的代码,并没有实实在在的吃透,遇到bug也是过于依赖搜索引擎,没有做到从问题入手,从原理剖析,导致绕了一个大弯路,这个毛病一定要改正,因为随着编码时间逐渐增长,我所侧重的方向一定是越来越细化的,遇到的问题也是越来越个性化的,别人遇到相同的问题的几率会减少,光是在Google的结果中搜寻类似的问题就要耗掉我大量的时间,更不用说有可能根本别人这种问题,因此,一定要养成从原理剖析问题的能力和习惯。

鉴于此次的问题,我就在此总结一下对于Header的理解,顺便复习一下。

request header 中的属性

  • accept 客户端所可以接收的服务器所返回的数据类型(content-type)
  • Content-Type 请求的MIME Type
  • Origin 客户端的主域名,如果网页为http://www.example.com/v1/user 则为 www.example.com
  • referer 客户端的完整域名,
  • User-Agent 浏览器的信息
  • Access-Control-Request-Headers 告诉服务器,浏览器需要用到的header属性
  • X-Requested-With 用于分辨Ajax请求,angularjs默认为 XMLHttpRequest

response header中的属性

  • Access-Control-Allow-Origin 所允许访问的跨源域名,如www.example.com
  • Access-Control-Allow-Methods 所允许访问的方法, post,put, get ,delete, options
  • Access-Control-Allow-Credentials 布尔值,是否允许浏览器发送cookie
  • Access-Control-Allow-Headers 允许浏览器request header中带的头部值
  • Status 200 OK, 401 UnAuthorization, 500 Internal Server exception, 301 page remove

如果使用token进行安全验证, 则浏览器每次的request都需要发送token,通常是将其值设置为Authorization头,因此服务器的所有response中必须设置Access-Control-Allow-Headers中包含 Authorization

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值