4 http相关

系列文章目录


目录

系列文章目录

前言

一、http常见状态码

二、Restful API

三、http headers

四、http 缓存

总结


前言

http学习笔记


一、http常见状态码

  • 1xx 服务器收到请求
  • 2xx 请求成功,200
  • 3xx 重定向, 301(永久) 302(临时) 配合location,浏览器自动处理
  • 4xx 客户端错误,404
  • 5xx 服务端错误,500

二、Restful API

传统API设计:把每个url当做一个功能

Restful API设计:把每个url当做一个唯一的资源

用method表示操作类型:post patch get delete

三、http headers

1、Request Headers

  • Accept 浏览器可接收的数据格式
  • Accept-Encoding 浏览器可接收的压缩算法,如 gzip
  • Accept-Language 浏览器可接收的语言,如 zh-CN
  • Connection keep-alive一次TCP连接重复使用
  • cookie
  • Host
  • User-Agent (UA)浏览器信息
  • Content-type 发送数据的格式,如 application/json

2、Response Headers

  • Content-type 返回数据的格式,如 application/json
  • Content-length 返回数据的大小,多少字节
  • Content-Encoding 返回数据的压缩算法,如 gzip
  • Set-Cookie 服务端改cookie

3、缓存相关的headers

  • Cache-Control Expires
  • Last-Modified If-Modified-Since
  • Etag If-None-Match

四、http 缓存

1、强制缓存

Cache-Control

  • Response Headers 中,服务端决定
  • 控制强制缓存的逻辑
  • 例如 Cache-Control:max-age=31536000(缓存时间,单位是秒)

Cache-Control 的值

  • max-age 缓存的过期时间
  • no-cache 不用强制缓存,请求服务端
  • no-store 不用强制缓存,不用服务端的缓存措施,请求服务端
  • private 允许最终用户做缓存
  • public 允许中间路由代理做缓存

Expires

  • 同在 Response Headers中
  • 同为控制缓存过期
  • 已被 Cache-Control 代替

2、协商缓存

  • 服务端缓存策略
  • 服务器判断客户端资源,是否和服务端资源一样
  • 一致则返回304,否则返回200和最新的资源

资源标识

  • 在 Response Headers 中,有两种
  • Last-Modified 资源的最后修改时间
  • Etag 资源的唯一标识(一个字符串)

Last-Modified 和 Etag

  • 会优先使用 Etag
  • Last-Modified 只能精确到秒级
  • 如果资源被重复生成,而内容不变,则Etag 更精确


总结

http缓存很重要!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值