HTTP使用指南 | 青训营笔记

85 阅读3分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天

一、本堂课重点内容:

初识HTTP协议

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

HTTP协议的应用场景分析

  • 场景分析 - 静态资源
  • 场景分析 - 登录

HTTP协议实战分析

  • HTTP 协议实战 - 浏览器
  • HTTP 协议实战 - Node篇
  • 网络优化手段
  • HTTP 协议拓展 - 通信方式

二、详细知识点介绍:

1.初识HTTP协议

(1)HTTP 协议的基本定义

image.png

(2)HTTP 协议主要特征

HTTP定义:Hyper Text Transfer Protocol超文本传输协议

HTTP性质:

  • 应用层协议,基于TCP协议
  • 请求响应
  • 简单可扩展
  • 无状态
(3)HTTP 协议发展历程
协议分析

[发展] image.png

[HTTP/2]

  • 二进制
  • HTTP/2:更快、更稳定、更简单
  • 帧(frame):HTTP/2通信的最小单位,每个帧都包含帧头,至少也会标识出当前帧所属的数据流。
image.png
  • 消息:与逻辑请求或响应消息对应的完整的一系列帧。
  • 数据流:已建立的连接内的双向字节流,可以承载一条或多条消息。
  • 交错发送,接收方重组织
image.png
  • HTTP/2连接都是永久的,而且仅需要每一个来源一个连接
  • 流控制:阻止发送方向接收方发送大量数据的机制
  • 服务器推送
image.png

[HTTP概述]

image.png

image.png

(4)HTTP 协议的报文结构

[报文]

image.png

Method: image.png

safe(安全的):不会修改服务器的数据的方法 GET HEAD OPTIONS

Idempotent(幂等):同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的所有safe的方法都是Idempotent的GET HEAD OPTIONS PUT DELETE

状态码:

image.png

RESTful API: RESTful API:一种API设计风格;REST-Representational State Transfer

(1)每一个URI代表一种资源; (2)客户端和服务器之间,传递这种资源的某种表层; (3)客户端通过HTTP method,对服务器端资源进行操作,实现"表现层状态转化"。

image.png

常用请求头:

image.png

image.png

缓存:

image.png

image.png

cookie:

image.png

2.HTTP协议的应用场景分析

(1)场景分析

image.png

(2)静态资源

image.png

image.png

  • 静态资源方案:缓存+CDN+文件名hash
  • CDN:Content Delivery Network

image.png

(3)登录

image.png

(4)跨域

为什么有options的请求? 跨域,cross-origin

image.png

image.png

跨域解决方案:

image.png

image.png

image.png

SSO:单点登录(Single Sign On)

image.png

3.HTTP协议实战分析

(1)浏览器篇

image.png

image.png

image.png

image.png

image.png

(2)用户体验 image.png

(3)扩展-通信方式 WebSocket

  • 浏览器与服务器进行全双工通讯的网络技术
  • 典型场景:实时性要求高,例如聊天室
  • URL使用ws://或wss://等开头

image.png

image.png

三、实践练习例子:

<link rel = "dns-prefetch" href = "//example.com">
<link rel = "preconnect" href = "//cdn.example.com" crossorigin>

四、课后个人总结:

在本章HTTP使用指南课程学习中,跨域比较难理解,以及在请求头方面,请求头类型繁多,需要清晰记忆,HTTP协议实战方面,了解到了WebSocket、axios、Fetch等;在整个HTTP协议学习中,了解了HTTP协议的各项内容,包括特征、报文等,以及相应的应用场景。