网络基础之 Http

Http2 与 Http1.1 区别

1.多路复用
http2 开始,同域名下的 http 请求可以使用同一个 tcp 连接并行传输数据。tcp 连接建立后,会有一个慢开始过程,即数据传输速度由慢变快。http 请求复用 tcp 连接后,就不需要重新建立 tcp,从而可以保持高速传输。

http1.1 采用长连接复用。多个请求串行单线程执行,前面请求执行时,会阻塞后面的请求;而 http2 的多路复用机制,多个请求之间是并行执行的,某个请求慢,不会影响其他请求执行。

Http2多路复用

2.Header 缓存和压缩

  • header 有大量信息,http1.1 请求时需要重复发送;http2 版本时,通信双方会各自缓存 header fields 表,后面仅差量地更新 http header
  • http2 相对 http1.1 支持 header 的压缩

3.服务端顺带推送
http2 在客户端请求某资源时,服务端会把客户端需要的一些别的资源返回回来,这很适合用来加载静态资源

4.解析格式
http1.0 和 http1.1 解析格式是文本,而文本的表现形式有多种,缺乏健壮性;而 http2 解析二进制,内容存在 0 或 1,方便且健壮

Cookie 机制

1.session 和 cookie
session 在服务端记录用户身份信息,cookie 在客户端记录用户身份信息

2.为什么要引入 cookie
因为 http 协议是无状态的,当 http 连接断开后,下一次通信就需要重新建立连接,而引入的 cookie 就可以让 http 跟踪会话,弥补 http 无状态的不足

3.什么是 cookie
由服务端为了记录用户状态而颁发给客户端的认证信息,也就是 cookie,客户端下次请求时会把 cookie 信息带上

4.cookie 特性

  • 记录用户访问次数
  • 不可跨域名性。eg:浏览器访问Google只会携带Google的Cookie,而不会携带Baidu的Cookie
  • Unicode编码:保存中文只能编码,用UTF-8即可
  • Cookie可以使用存储二进制内容(并不实用)

你可能感兴趣的:(网络)