Http/1.1 (RFC 2616)阅读笔记

我们每天都在跟http打交道,却未必敢说对它了如指掌。最近花了点时间阅读了这份十年前的协议,借此机会分享感受较深的几点。

1.请求/响应链(Request and Response Chain)

如图,一则请求在最终抵达我们的应用服务器之前,可能会经过像A、B、C那样层层的代理服务器、缓存服务器的中转,请求和响应就像接力棒一样在整个网络中穿梭。这种结构给分布式缓存埋下了伏笔,也让我意识到CDN不是后人的发明,而是前人精心的设计。虽然缓存相关的语法破坏了HTTP语义的透明,但其对性能深厚的影响迫使协议的制定者们不惜将其“浮出水面”。Caching in http是专门的一章,主要介绍了两种模型,一是Expiration Model,二是Validation Model。前者即直接复用本地缓存的策略,彻底省去了网络上来回的开销;后者则在302等响应码中得以体现,确保内容最新的同时省去了重复传输的开销。

      request chain ---------->
 UserAgent -----v----- A -----v----- B - - - - - - C - - - - - - Orignal Sever
      <--------- response chain

2.消息和实体(Message and Entity)

可能是因为我们的业务少有涉及原生的http文件上传,即使需要也大多出于性能和交互的考量转而采用flash(细节被封装),实体的概念几乎无人问津。
下面是我在stackoverflow.com中试图回答“What's an HTTP Entity”:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值