HTTP请求过程 part-1

http请求过程

从源端到终端,请求报文和响应报文要经过四层关口,才可以传输,分为:

  • 应用层 (如http)
  • 传输层 (如TCP)
  • 网络层 (如IP)
  • 链接层 (设备驱动程序以及网卡)

协议

经过约定,使通信两端以相同规则存储,接收,发送数据

分层初探

应用层

应用程序将数据以相应规则进行包装,发给传输层【HTTP,FTP,SMTP,SNMP】

传输层

将应用层传来的数据进行分组,标记,交给网络层【TCP,UDP】

分组和标记是为了保证顺序及完整性

网络层

以最快的方式将数据发送到目标终端【IP,ICMP,IGMP】

链路层

为网络层发送和接收数据单元【ARP,RARP】

[!IMPORTANT]

在这整个过程中,数据在发送及接收时,需要进行封装和分用的操作

  • 封装:报文==>向下层,添加协议标识【此后递归操作到最底层】
  • 分用:去掉报文首部(协议标识)==>向上层【递归到最上层直至接收】

HTTP应用层

报文分类

  • 用户触发交互的行为数据
  • 服务端对此做出的响应

报文作为了客户端和服务端沟通的载体

起始行

  • 请求:方法+请求URL+协议版本
  • 响应:协议版本+状态码+描述文本
方法的分类
方法含义有无主体
GET从服务端获取资源
HEAD只获取资源头部
POST向服务端发送数据

…还有其他的没有列出来

状态码的分类
范围已定义范围含义
100~199100~101信息提示
200~299200~206成功
300~399300~305重定向
400~499400~415客户端错误
500~599500~505服务端错误

首部

形式为键值对==>为了协商具体行为

首部可分类为

请求响应通用实体扩展
  • 请求为告诉服务端的信息
  • 响应为告诉客户端的信息
  • 通用为大家都可用到的,如时间相关的信息
  • 实体可有在报文实体中数据的类型,长度等等 【可有可无】
  • 扩展为了在一些对应传输中进行一些个性化的操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值