Web请求过程


浏览器缓存

开发过程中会经常去刷新缓存。通常通过ctrl+F5来刷新缓存。但是为什么会刷新缓存呢?

因为我们的请求中会增加header

pragma:no-cache

cache-control:no-cache

Cache-Control的可选值

  • Public 缓存所有,响应头设置
  • Private 缓存到私有缓存,响应头设置
  • no-cache 所有内容都不会缓存,请求头&响应头设置
  • no-store 所有内容都不缓存,也不进入Internet临时文件,响应头中设置
  • must-revalidation 若缓存内容失效,则必须发送给服务器进行验证,请求头中设置。
  • max-age 缓存的内容将于xxx秒后失效。 HTTP1.1 比Last-Modified优先级高

DNS解析

  1. 在浏览器中输入 www.xxxx.com 并回车
  2. 浏览器检测浏览器是否有该域名的缓存。
    1. 如果有,则直接返回 域名和IP的对应关系给浏览器。
    2. 否则 访问本机的hosts
      1. 如果有,则返回 域名和IP对应关系给浏览器。
      2. 否则 浏览器访问LDNS服务器
        1. 如果 LDNS上有该域名和IP的对应关系,则返回给浏览器
        2. 否则 LDNS访问RootDNSServer,并得到一个NameServer地址
          1. LDNS访问NameServer,并获取到  域名和IP的对应关系
          2. LDNS 缓存该映射关系到本LDNS 缓存时间由TTL决定
          3. LDNS返回映射关系给浏览器
  3. 浏览器 缓存(根据TTL)域名和IP的对应关系并根据此内容去发起请求。
通过nslookup 和  dig www.xxx.com +trace 来跟踪域名解析的过程
  Java 的JVM 通过InetAddress来缓存内容  
        %JAVA_HOME%/lib/security/java.security 
   networkaddress.cache.ttl 默认-1 永不失效
 networkaddress.cache.negative.ttl 默认10秒失效
也可以通过 -Dsun.net.inetaddr.ttl=xxxx 来启动时修改

域名解析配置

A记录:Address  域名和IP对应关系
MX记录:Mail Exchange 指定域名指向的邮箱地址。
CNAME记录:Canonical Name 别名解析
NS记录:指定DNS服务器进行解析
TXT记录:一些存储信息

CDN配置

CDN简单来讲就是 内容分布网络(Content Delivery Network)  在用户和服务器间增加一层缓存结构,让一些静态信息可以通过就近的缓存服务器返回。这样就大大加快了访问的速度。
CDN=镜像+缓存+负载均衡
CDN动态回源,通过计算得到最近的一条回源路径,这样可以增大请求的效率。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值