3/8http协议

1.复杂的网络
在这里插入图片描述
A host=>数据丢包=>数据重复=>数据完整性校验=>数字转换模拟信号=>…=>信号衰弱=>B host

osi网络参考模型

在这里插入图片描述
应用层协议 dns http ssh smtp ftp
传输层 Tcp UDP SCTP
网络层 ipv4 ipv6 ARP ICMP 网络层
数据链路层 以太网 无线 LAN
物理层 光纤 ,双绞线电缆,无线设备

一个http请求的分层解析流程

在这里插入图片描述

超文本传输协议

一种无状态,以请求/应答方式运行的协议,它使用可扩展的语义和自描述消息格式,与基于网络的超文本信息系统灵活的互动
1.http报文格式
http协议的请求报文和响应报文的结构基本相同,由三大部分组成

  • 起始头:描述请求或响应的基本信息

  • 头部字段集合:使用key-value形式更详细地说明报文

  • 消息正文:实际传输的数据,它不一定是纯文本,可以是图片,视频等二进制数据
    在这里插入图片描述
    2.请求行报文格式
    在这里插入图片描述

  • 请求方法:如get/head/put/post,表示对资源的操作

  • 请求目标:通常是一个url,标记请求方法要操作的资源

  • 版本号,表示报文使用的http协议版本
    3.响应行报文格式在这里插入图片描述

  • 版本号:表示报文使用的http协议版本

  • 状态码:一个三位数,用代码的形式表示处理的结构,比如200是成功,500是服务器错误;

  • 原因:作为数字状态码补充,是更详细的解释文字,帮助人理解原因
    4.http头字段
    在这里插入图片描述
    头字段注意事项

  • 字段名不区分大小写,字段名里不允许出现空格,可以使用连字符”-“但不能使用下划线_(有的服务器不会带下划线的头字段)。字段名后面必须紧接着:,不能有空格,而""后的字段值前可以有多个空格

  • 字段的顺序是没有任何意义的,可以任意排列不影响语义;

  • 字段原则上不能重复,除非这个字段本身的语义允许,例如Set-Cookie
    5.常用头字段
    http协议中有非常多的头字段,但基本上可以分为四大类,

  • 请求字段:请求头中的头字段,如host,referer

  • 响应字段:响应头中的头字段,如Server,Date

  • 通用字段:在请求头和响应头里都可以出现,如Content-type,Connection;

http请求的完整工程

在这里插入图片描述

TCP协议

tcp:面向连接的,可靠的,基于字节流的传输层通信协议
特点:

  • 基于连接的:数据传输之前需要建立连接
  • 全双工:双向传输
  • 字节流:不限制数据大小,打包成报文段,保证有序接收,重复报文自动丢弃,
  • 流量缓冲,解决双方处理能力的不匹配
  • 可靠的传输服务:保证可达,丢包时通过重发时通过重发机制实现可靠性
  • 拥赛控制:防止网络出现恶性拥塞

TCP连接管理

1.tcp连接:四元组[源地址,源端口,目的地址,目的端口]
2.确认连接,tcp三次握手

  • 同步通信双方初始序列号,
  • 协商tcp通信参数
    如何就行握手
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值