JS-part16.4- 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: 请求主机
    -> Accept: 期望的数据类型
    -> UserAgent: 请求终端
    -> ...
    -> Cookie: (未完待续)
  => 请求空行
    -> 分隔请求体和请求头的
  => 请求体
    -> 前端携带给后端的参数
    -> 有的有, 有的没有

在这里插入图片描述

在这里插入图片描述

3. 接收响应

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

在这里插入图片描述

4. 断开连接

+ 基于 TCP / IP 协议的四次挥手
+ 为了保证断开连接
  1. 前端给后端发一个消息: "响应体收到, 我要准备断开连接了"
  2. 后端给前端发一个消息: "好的, 我知道你收到响应体了"
  3. 后端再次给前端发一个消息: "我已经准备断开连接了, 当我再次收到你的消息的时候, 我就断了, 不再回复了"
  4. 前端收到后端的第一个消息
  5. 前端收到后端的第二个消息: "好的, 我断开了, 别回了"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值