Appearance

HTTP协议

Pcjmy2022-05-11计算机网络HTTP

HTTP 协议

  • HTTP 是什么
  • HTTP 请求响应的过程

HyperText Transfer Protocol 超文本传输协议

HTTP 是一个请求-响应协议

HTML、JS、CSS、图片、字体、音频、视频等等文件,都是通过 HTTP(超文本传输协议)在服务器和浏览器之间传输

HTTP 报文

1.HTTP 报文是什么

浏览器向服务器发送请求时,请求本身就是信息,叫请求报文

服务器向浏览器发送响应时传输的信息,叫响应报文

2.HTTP 报文格式

请求

请求头:起始行+首部
请求体
GET 请求,没有请求体,数据通过请求头携带
POST 请求,有请求体,数据通过请求体携带

响应

响应头:起始行+首部
响应体

HTTP 状态码

1.HTTP 状态码是什么
定义服务器对请求的处理结果,是服务器返回的

2.HTTP 状态码的语义
100~199 消息:代表请求已被接受,需要继续处理
websocket

200~299 成功
200

300~399 重定向
http://www.imooc.com/
https://www.imooc.com/

301 Moved Permanently
302 Move Temporarily

304 Not Modified

400~499 请求错误
404 Not Found

500~599 服务器错误
500 Internal Server Error

HTTP 常见状态码及含义

  • 200 请求成功
  • 301 永久重定向
  • 302 临时重定向
  • 403 没权限
  • 404 表示服务器上没有找到该资源
  • 500 服务器错误

HTTP 方法

  • 常用的 HTTP 方法
  • HTTP 方法的语义
  • RESTful 接口设计

1.常用的 HTTP 方法

GET、POST、PUT、DELETE

浏览器发送请求时采用的方法,和响应无关

用来定义对于资源采取什么样的操作的,有各自的语义

2.HTTP 方法的语义

  • GET 获取数据
  • POST 创建数据
  • PUT 更新数据
  • DELETE 删除数据

增删改查

这些方法虽然有各自的语义,但是并不是强制性的

3.RESTful 接口设计

一种接口设计风格,充分利用 HTTP 方法的语义

GET 和 POST 方法的对比

  • 语义

  • 发送数据

  • 缓存

  • 安全性

    1.语义 GET:获取数据 POST:创建数据

    2.发送数据 GET 通过地址在请求头中携带数据 能携带的数据量和地址的长度有关系,一般最多就几 K

POST 既可以通过地址在请求头中携带数据,也可以通过请求体携带数据 能携带的数据量理论上是无限的

携带少量数据,可以使用 GET 请求,大量的数据可以使用 POST 请求

3.缓存 GET 可以被缓存,POST 不会被缓存

4.安全性 ?username=alex GET 和 POST 都不安全

发送密码或其他敏感信息时不要使用 GET,主要是避免直接被他人窥屏或通过历史记录找到你的密码

get用来获取数据,post用来提交数据
get参数有长度限制(受限于url长度,具体的数值取决于浏览器和服务器的限制,最长2048字节),而post无限制
get是明文传输,post是放在请求体中

HTTP header

http 协议中的 header 及含义

  • accept:代表客户端希望接受的数据类型
  • accept-encoding:浏览器发给服务器,声明浏览器支持的编码类型
  • accept-language:表示浏览器所支持的语言类型
  • Cache-Control:缓存开关,no-cache 表示禁用缓存
  • referer:referer 的正确英语拼法是 referrer。由于早期 HTTP 规范的拼写错误,主要用于防止盗链和恶意请求
Last Updated 2022-12-13 10:36:06
ON THIS PAGE