前端HTTP协议

一、几个概念

  1. 前端:即浏览器端
  2. 客户端:凡是能和服务器通信的就叫做客户端,如:浏览器、命令行工具
  3. 后端:即服务器端

二、 http报文

1. 是什么

  • 请求报文:浏览器向服务器发送请求时的请求信息,就是请求报文
  • 响应报文:服务器向浏览器发送响应时传输的信息,就是响应报文

2. 报文格式

  • 请求:请求头(起始行+首部) + 请求体

  • 响应:响应头(起始行+首部) + 响应体

get请求没有请求体,数据是通过请求头携带的
post请求有请求体,数据通过请求体携带

2.1 常见的 request headers

属性说明
Accept浏览器可接收的数据格式
Accept-Encoding浏览器可接收的压缩算法
Accept-Language浏览器可接收的语言
Connectionkeep-alive, 一次TCP链接重复使用
Host请求的域名
User-Agent浏览器信息
Content-type发送数据的格式,常见于post请求中,如 application/json

2.1 常见的 response headers

属性说明
Content-Type返回的数据格式
Content-length返回数据的大小,多少字节
Content-Encoding返回数据的压缩算法
Set-Cookie服务器修改的cookie

三、http方法

常用的http方法(请求时采用的方法,和响应无关)

  • get:获取数据
  • post:创建数据
  • put / patch:更新数据
  • delete:删除数据

四、 get和post的区别

  1. 语义:get用于获取数据,post用于创建数据

  2. 发送数据
    get请求:通过地址 在请求头中携带数据,能携带的数据一般很小(和地址长度相关)
    post请求:既可以通过地址在请求头中携带数据,也可以通过请求体携带数据。能携带的数据理论上是无限的
    携带少量数据可以使用get请求,携带大量数据可以使用post请求

  3. 缓存
    get 可以被缓存,因为get是通过地址携带数据的
    post 不可以被缓存

  4. 安全性
    get请求的数据在地址栏可以看见,但post的也可以在控制台看见,所以get和post都不安全
    发送密码或其他敏感信息是不要使用get,这样可以避免直接被他人看见或者通过历史记录(get有缓存)找到

五、http状态码

分类说明
1xx信息,请求已经被接受,需要请求者继续执行操作,常见于:websocket
2xx成功,操作被成功接收并处理
3xx重定向,需要进一步的操作以完成请求
4xx请求错误 / 客户端错误,请求包含语法错误或无法完成请求
5xx服务器错误

1. 常见的状态码

  • 200,成功
  • 301,永久重定向(配合location,浏览器自动处理),比如域名过期更换域名时
  • 302,临时重定向(配合location,浏览器自动处理)
  • 304,资源未被修改
  • 404,资源没有找到
  • 403,没有权限
  • 500,服务器错误
  • 504,网关超时
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值