HTTP 与 HTTPS 协议
一、前后端通信
前后端通信是什么:
- 前端与后端数据交互的过程
- 浏览器和服务器之间数据交互的过程
1、使用浏览器访问网页
- 在浏览器地址栏输入网址,按下回车
2、HTML 的标签
- 浏览器在解析 HTML 标签的时候,遇到一些特殊的标签,会再次向服务器发送请求。如:、、
2、Ajax 和 Fetch
- 点击链接进入:Ajax、JSON 及跨域请求
二、HTTP 协议
1、初识 HTTP
HTTP 是什么:
- HTTP(HyperText Transfer Protocol)是超文本传输协议
2、HTTP 报文
HTTP 报文是什么:
- 浏览器向服务器发送请求时,请求本身就是信息,叫请求报文
- 服务器向浏览器发送响应时传输的信息,叫响应报文
HTTP 报文格式:
- 请求报文格式:请求头(起始行+首部) + 请求体
- 响应报文格式:响应头(起始行+首部) + 响应体
长连接和短连接:
- 长连接:建立连接后,传输完成所有数据才断开连接
- 短连接:每进行一次报文的收发都需要建立重新建立连接
3、HTTP 方法
常用的 HTTP 方法及其语义:
- HTTP 方法是浏览器发送请求时采用的方法,和响应无关
- GET:用于获取资源
- POST:创建数据
- PUT:更新数据
- DELETE:删除数据
RESFUL 接口设计:
- 一种接口设计风格,充分利用 HTTP 方法的语义
4、GET 和 POST 方法的区别
语义:
- get:用于获取数据
- post:用于创建数据
发送数据方式:
- get 通过地址在请求头中携带数据;能携带的数据量和地址长度有关,一般最多几 Kb
- post 既可以通过地址在请求头中携带数据(一般不这么做),也可以通过请求体携带数据;能携带大量的数据,能携带的数据量理论上是无限的
缓存:
- get 可以被缓存
- post 不会被缓存
安全性:
- get 和 post 都不安全
- 发送密码或其它敏感信息时不要使用 GET,主要是避免被他人直接窥屏或通过历史记录找到你的密码
5、HTTP 状态码
HTTP 状态码是什么:
- 用于定义服务器对请求的处理结果,是服务器返回的
HTTP 状态码的语义:
- 100~199 消息:代表请求已被接受,需要继续处理
- 200~299 成功:代表请求成功
200 - 300~399 重定向:
301 永久性重定向
302 临时性调转
304 没有被修改 - 400~499 请求错误:
404 请求的页面没找到 - 500~599 服务器错误:
500