JS复习-23-HTTP传输协议及四个步骤

http 传输协议

  + 前后端交互的方式
  + 前端以什么样的形式发送数据给后端
  + 后端以什么样的形式返回数据给前端

传输协议
  1. 必须经历四个步骤
    1-1. 建立连接
    1-2. 发送请求(前端给后端)
    1-3. 返回响应(后端给前端)
    1-4. 断开连接
  2. 只能由前端发起
    + 不能由后端主动沟通前端
  3. 一次只能说一个事情
    + 对于着一个事情你可以尽可能的描述的详细
    + 但是一次连接只能沟通一个事情
  4. 前后端交互只能交互字符串
    + 所有其他数据类型都不可以
    + 中文会转成 url 编码

一个请求的四个步骤

1. 建立连接
  + 基于 TCP / IP 协议的三次握手
  + 浏览器和服务器做的
  + 目的: 为了保证通道的连接
    1. 前端和后端说: "你在吗"
    2. 后端和前端说: "我再"
      -> 后端知道 前端正常发送
      -> 后端知道 后端正常接收
    3. 前端和后端说: "好的我知道了"
      -> 前端知道 后端正常接收
      -> 前端知道 前端正常发送
      -> 前端知道 前端正常接收
      -> 前端知道 后端正常发送
    4. 后端和前端说: "你发送请求吧"
      -> 后端知道 前端正常接收
      -> 后端知道 后端正常发送

2. 发送请求
  + 前端发送请求给后端, 必须以 请求报文 的形式发送
  + 一个特殊格式的字符串文件(由浏览器进行组装)
  + 请求报文
    => 请求行
      -> GET / POST: 请求方式(未完待续)
      -> ./login.php: 请求地址
      -> HTTP/1.1: 传输协议版本
    => 请求头
      -> 对本次请求的描述信息
      -> Host: 请求主机
      -> Accapt: 期望的数据类型
      -> UserAgent: 请求终端
      -> Content-type: 请求体的数据格式
      -> ...
      -> Cookie: (未完待续)
    => 请求空行
      -> 分隔请求体和请求头的
    => 请求体
      -> 前端携带给后端的参数
      -> 有的有, 有的没有

3. 接收响应
  + 每一个响应是由服务端接收到前端的请求以后, 给出的结果
  + 必须以响应报文的形式发送个前端
  + 响应报文
    1. 状态行
      => 200: 响应状态码(未完待续)
      => ok: 对响应状态码的简单描述
      => HTTP/1.1 传输协议版本
    2. 响应头
      => 对本次响应的描述信息
      => Date: 服务器时间(世界标准时间)
      => Server: 服务器信息
      => Content-Type: 响应体的数据格式
      => ...
    3. 响应体
      => 后端给前端的数据

4. 断开连接
  + 基于 TCP / IP 协议的四次挥手
  + 为了保证断开连接
    1. 前端给后端发一个消息: "响应体收到, 我要准备断开连接了"
    2. 后端给前端发一个消息: "好的, 我知道你收到响应体了"
    3. 后端在其给前端发一个消息: "我已经准备断开连接了, 当我再次收到你的消息的时候, 我就断了, 不会再次回覆"
    4. 前端收到后端的第一个消息
    5. 前端收到后端的第二个消息: "好的, 我断开了, 别回了"

响应状态码

响应状态码
  + 以一个数字表示本次请求的响应状态
    => 成功: 创建成功, 删除成功, ...
    => 失败: 客户端失败, 服务端失败, ...
  + 是 100 ~ 599, 分成五类
    => 100 ~ 199: 表示连接继续
    => 200 ~ 299: 表示各种意义上的成功
    => 300 ~ 399: 表示重定向
    => 400 ~ 499: 表示客户端错误
    => 500 ~ 599: 表示服务端错误
    
常见状态码
  + 101 表示连接继续
  + 200 通用成功
  + 302 临时重定向
    => 本次请求临时使用 服务器 来决定浏览器跳转的页面
  + 301 永久重定向
    => 终身只要访问这个地址, 就会给重新切换到新的地址
  + 304 缓存
    => 当你访问过一遍这个页面以后
    => 浏览器会自动缓存
    => 当你在其访问同一个地址的时候, 不会像服务器发送请求了, 而是从缓存里面获取
  + 403 访问权限不够
  + 404 访问地址不存在
  + 500 通用服务端错误
  + 501 维护或者过载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值