美文网首页
网络请求相关

网络请求相关

作者: 青春向来如此 | 来源:发表于2021-04-08 21:51 被阅读0次

常见http状态码

301永久重定向
302临时重定向
304缓存
400参数错误
401没登录
403登陆了但没有权限
404没有此接口或页面
500 服务器错误
502 网关错误

缓存

1.强制缓存 不会向服务器发请求
html不走强制缓存 内部引用的资源可以强制缓存(js img css)

  1. 对比缓存
    去服务器比较一下是否发生变化

    服务器给js等资源设置缓存头


强制缓存 cache-control
1.no-store 每次都请求服务器 但是不存储缓存到浏览器内存
2.no-cache 每次都请求服务器 但是会缓存到浏览器内存中
3.public
4.private
5.max-age

 + 如果设置了no-cache ,请求服务器,服务器返回304 则去缓存中找得到
 + 如果设置了no-store ,请求服务器,服务器返回304 则去缓存中找不到

cache-control(新版浏览器) expires(旧版本浏览器)
cache-control max-age=10 10秒过期
expires new Date(Date.now()+10*1000) 10秒过期


对比缓存

  1. 根据文件的修改时间 决定是否返回304 让浏览器找缓存
    last-modified:文件的最终修改时间
    此后的请求中会带上这个时间if-modify-since:时间,然后服务器做对比,如果这个时间和最新的修改时间一样就返回304(缺点:时间变了内容可能没变或者1秒内变化两次)
  2. 根据文件的内容变化 决定是否返回304 让浏览器找缓存
    node中通过摘要算法crypto生成文件的摘要信息(md5 不可逆的算法称为摘要算法)
    相同的内容生成的摘要相同
  md5 = crypto.createHash('md5').update(value).digest('base64')
  res.setHeader('Etag' ,md5)

之后的请求头中会带上if-none-match 来对比


强制缓存和对比缓存配合使用

+强制缓存 cache-control 设为no-cache
+对比缓存 last-modified:文件的最终修改时间
+Etag

缓存总结:有强制,走强制;强制失效,走对比。

相关文章

  • iOS网络请求相关框架的使用

    iOS网络请求相关框架的使用 iOS网络请求相关框架的使用

  • 网络请求相关

    get 和post 的主要区别体现在数据传递上,get:在请求的URL后面以?的形式跟上发给服务器的参数,多个参数...

  • 网络请求相关

    1,Android网络请求心路历程,总结的非常好 Android网络请求心路历程 2,Volley的源码解析和详细...

  • 网络请求相关

    1、网络请求方式的改变 2、后台服务器传输协议由HTTP改成HTTPS I二、URL: 练习:通过连接加载图片 三...

  • 网络请求相关

    HTTP 超文本传输协议 请求/响应报文 连接建立流程 HTTP的特点 1. 请求/响应报文 请求报文请求报文包括...

  • 网络请求相关

    常见http状态码 301永久重定向302临时重定向304缓存400参数错误401没登录403登陆了但没有权限40...

  • 网络相关-HTTPS请求

    我们在发送一个HTTPS请求的时候,到底发生了什么事?用NSURLSession为例这儿梳理下流程: 1. 发送h...

  • 微信小程序部分安卓机型发起 HTTPS 请求频繁出现超时问题

    首先引入微信小程序官方关于HTTPS网络请求问题的相关说明 小程序必须使用 HTTPS/WSS 发起网络请求。请求...

  • 网络请求相关http/https

    参考:https://www.geeksforgeeks.org/layers-osi-model/ OSI模型 ...

  • ios基于AFN封装网络请求工具

    新建一个类 在.h文件中,提供网络相关的常用方法 GET请求 POST请求 PUT请求 网络状态监测 处理参数得到...

网友评论

      本文标题:网络请求相关

      本文链接:https://www.haomeiwen.com/subject/lyxbkltx.html