HTTP实用指南|青训营

64 阅读2分钟

这是我参与「第六届青训营」伴学笔记创作活动的第7节课

前言:

本节课前置介绍HTTP协议的基本定义和特定,在此基础上,对于HTTP协议的发展历程及报文结构展开进一步分析。根据不同的环境,介绍在日常的开发中,如何实现去发起一个协议,将重点带来浏览器环境的应用实战,进一步基于不同环境下,如何做到网络优化,提升用户体验。

课程重点:

  • HTTP协议的基本定义
  • HTTP协议主要特征
  • HTTP协议发展历程
  • HTTP协议的报文结构

  什么是HTTP?

  • Hyper Text Transfer Protocol超文本传输协议
  • 应用层协议,基于TCP协议
  • 请求 相应
  • 简单可扩展
  • 无状态

协议分析—发展

HTTP/0.9单行协议

  • 请求GET/mypage.html
  • 响应只有HTML文档

HTTP/1.0构建可扩展性

  • 增加了Header
  • 有了状态码
  • 支持多种文档类型
  • ……

HTTP/1.1标准化协议

  • 连接复用
  • 缓存
  • 内容协商
  • ……

HTTP/2更优异的表现

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

HTTP/3草案

HTTP/2概述:更快、更稳定、更简单

帧(frame):HTTP/2通信的最小单位,每个帧都包含帧头,至少也会标识出当前帧所属的数据流。

  • 二进制

消息:与逻辑请求或响应消息对应的完整的一系列帧。

数据流:已建立的连接内的双向字节流,可以承载一条或多条消息。

  • 交错发送,接收方重组织

  • HTTP/2链接都是永久的,而且仅需要每个来源一个连接

  • 流控制:阻止发送方向接收方发送大量数据的机制

HTTPS概述:

  • Hypertext Transfer Protocol Secure
  • 经过TSL/SSL加密
  • 对称加密:加密和解密都是使用同一个密钥
  • 非对称加密,加密和解密需要使用两个不同的密钥:公钥(public key)和私钥(private key)

课程总结:

HTTP协议是一种详细规定了浏览器和万维网服务器之间相互通信的规则,通过因特网传输文档的数据传送协议。HTTP协议一般承载于TCP协议之上,HTTP协议是应用层协议,默认端口为80,HTTP协议一般应用于网页的浏览器,但是并不代表只能用于网页的浏览,HTTP是一种协议,只要通信的双方都遵守这个协议,HTTP就能有用武之地