V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhangjiha
V2EX  ›  程序员

真的忍不住吐槽个推了,太 low 了吧,认证头的 Key 竟然还是小写

  •  
  •   zhangjiha · 2017-09-20 18:16:30 +08:00 · 2390 次点击
    这是一个创建于 2625 天前的主题,其中的信息可能已经有所发展或是发生改变。

    RT,Ruby 封装的 HTTP 调用,都是自动把小写的 header key 自动转为大写。 无解。

    6 条回复    2017-09-21 12:34:12 +08:00
    oott123
        1
    oott123  
       2017-09-20 18:49:00 +08:00
    按说这玩意儿应该是不区分大小写的……
    zjp
        2
    zjp  
       2017-09-20 21:20:23 +08:00 via Android
    有问题?规范里不区分大小写,实际上一般首字母大写
    zhangjiha
        3
    zhangjiha  
    OP
       2017-09-21 10:07:33 +08:00
    @oott123 RFC 中 Http Header 都是驼峰式的,并且大小写敏感
    zhangjiha
        4
    zhangjiha  
    OP
       2017-09-21 10:10:11 +08:00
    @zjp HTTP Header 是大小写敏感的,并且规范推荐是驼峰式的。
    所以,很多框架会做两步额外的工作
    1. Server 端,把收到的请求的 header 的 key 转为驼峰式。
    2. 很多语言的 HTTP 请求的包,会自动把你请求的 header 的 key 转为驼峰式。 至少 Ruby 中的 Net::HTTP 的库就是这样。
    所以,这下就尴尬了。
    zjp
        5
    zjp  
       2017-09-21 10:59:08 +08:00 via Android
    @zhangjiha 麻烦提供资料… MDN 上写着 A request header consists of its case-insensitive name followed by a colon.
    zhangjiha
        6
    zhangjiha  
    OP
       2017-09-21 12:34:12 +08:00
    @zjp
    1. Http Headers 的标准头都是驼峰式的。 但是规范确实没有直接写出这个推荐。
    2. https://github.com/jnunemaker/httparty/issues/406 这个帖子的讨论里可以看出来 Ruby 底层使用的 NET HTTP 库实际上是做了转化的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2384 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 16:10 · PVG 00:10 · LAX 08:10 · JFK 11:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.