饥人谷技术博客

HTTP三两事

2017-11-19  本文已影响36人  枸杞辣条

note in 2017-11-13

http 概述

  1. HTTP 是简单的
  2. HTTP 是可扩展的(需要再服务端和客户端再新的headers上语义达成一致)
  3. HTTP 是无状态,有会话的
  4. HTTP 链接(实际上是TCP长链接和短链接,关键在于Connection:Keep-Alive

DNS与域名

Q:为什么用域名访问而不用DNS访问?
A:为了免于记忆一串无规则IP,访问域名实际访问的是它的DNS,域名是映射到DNS上面的

关于port

22 ssh
80 http

image
443 https
image
27017 mongoDB
Q:为什么URL看不到端口号
A:浏览器的协议一般是http/https,所以一般访问的是默认端口

http报文格式

Cache-Control与http缓存机制

重用已获取的资源能够有效的提升网站与应用的性能。

常见Cache-Control的值:

缓存过期i

  1. 缓存存储策略:
    以上值的前4者都是可以缓存资源到本地(特别是no-cache台太有迷惑性了),但是并不意味着一定可以使用本地缓存。使用本地缓存还需要一套鉴别机制。

  2. 缓存时间过期策略:
    缓存的时间过期机制最重要的是:Cache-Control:max-age=${second}max-age是距离请求发起的时间的秒数,如果�时间过期,则会从服务器重新获取。还有另外一个Expire属性也可以标明从法从请求时间开始到指定的时间内可以使用本地缓存,否则需要重新下载。如果Expire与max-age共存,max-age的优先级是大于Expire。

  3. 缓存对比策略:
    如果缓存时间过期后,继续请求�该资源,现在浏览器会有2�种做法:

看一些请求报文

缓存时间过期:


截取自mdn network
截取自极简图床
截取自极简图床

Reference:
彻底弄懂 HTTP 缓存机制 —— 基于缓存策略三要素分解法
浏览器缓存机制�剖析

上一篇下一篇

猜你喜欢

热点阅读