http课程的笔记 | 青训营;

94 阅读2分钟

http初识

url出入导航栏中发生了什么

什么是http

Http 应用层,基于tcp协议 请求响应 简单可拓展 无状态

协议发展

0.9 get 只有html文档

1.0 增加header,状态码,多种文档类型

1.1 缓存/协商

2 二进制协议 服务器推送 压缩header

报文

put/patch 修改资源

Head 请求一个与get请求相应相同的响应,但没有响应体

Connect 建立与服务器的隧道

Options 通信选项

Trace 换回测试

method分类 safe(不修改服务器的数据的方法) ,幂等的(同样的请求被执行一次与来纳许执行多次修过一样,服务器状态一样)

状态码

301 永久重定向

302 临时重定向

403 协商缓存(资源没有改变,返回浏览器缓存资源)

Restful api

客户端通过http方法,对服务器资源进行操作(representational state transfer)

请求头/响应头

强缓存和协商缓存

强缓存

查看本地是否有缓存的资源 有的话且在有效时间内 直接用本地浏览器缓存资源

  1. Expires 过期时间(时间戳 绝对时间)
  2. Cache-control (重要的部分是:单位是秒的相对时间max-age)
  • 可缓存
  • 过多久到期
  • 重新验证/加载
协商缓存

查看本地是否有缓存的资源,有的话 发个请求问一下 能不能用

查看 etag(服务器id)和if-none-match(客户端是否匹配)是否一致,查看last-modified(服务器最后一次修改)和if-modified-since(客户端上一次修改请求时间)

请求头 if-...

实际流程

红色-->在请求资源发出前,检验上次相同请求得到的响应头(强-->etag-->last-modified)

http2

数据流:双向字节流,承载多条信息

消息:一系列帧

连接永久,仅需要每个来源一个连接(一个设备-一个服务器间)

流控制:服务器返回大量数据,客户端可以阻止接收

服务器推送(请求html,发现需要js.css静态资源,提前推送到客户端)

图示:

Https

Https 多一个ssl/tls

跨域

cors(cross-origin resource sharing)跨源资源共享

预请求:options

相关协议:access-control-allow 通道控制允许

解决方案

单点登录