Web协议详解与抓包实战学习系列(一)

2,718 阅读2分钟





HTTP定义



无状态:我们的连续两个请求中,后一个请求不能依赖前一个请求中的字段或者头部等

以请求/应答方式运行:必须得建立一个连接,首先由客户端发起请求,然后服务器才能在这个连接上发起response响应

可扩展语义:老的服务器不支持http1.1但是浏览器支持,但是浏览器仍然可以和老服务器连接

自描述:可以从请求本身了解请求的详细信息,而不依赖于外部

超文本:不止是文档,还有图片,视频,音频等

HTTP协议格式:口述,不够规范

ABNF



基于ABNF描述的HTTP协议格式

利用xshell简单测试


利用wireshark查看不可见符号:可以看出规则是符合ABNF的

OSI概念模型

应用层:HTTP协议等,解决的是业务问题

表示层:负责把网络中的消息转换为应用层中可以读取的消息 TSL/SSL协议

会话层:建立会话,握手,关闭等(概念)

传输层:TCP,LDP,LSC,TPL,SSL,TSL,解决进程与进程之间的通讯,主机把报文分发给哪个进程;保证报文可达性,流量控制 (负载均衡)

网络层:IP协议 在广域网中可以从一个主机发送到另一个主机

数据链路层:局域网中,使用mac地址链接到相应的交换机/路由器

物理层:网线设备

OSI模型与TCP/IP模型对比



Ethernet II:数据链路层

Internet Protocol Version4:网络层

TCP层:传输层

TLS层:表示层(加密)

应用层:解密后的报文


HTTP协议解决的问题




REST架构风格:HTTP架构遵循的风格



五中架构风格

1. 数据流风格 Data-flow Styles (上述协议分层就是一种数据风格)

优点:简单性,可进化性,可扩展性,可配置性,可重用性

管道与过滤器,Pipe and filter,PF(数据的单项传输)


统一接口的管道与过滤器,UPF,在PF上增加了统一接口的约束,所有Filter过滤器必须有同样的接口


2. 复制风格 Replication Styles

优点:用户可察觉的性能,可伸缩性,网络效率及可靠性也可以得到提升

复制仓库哦 Replicated Repository RR

多个进程提供相同的服务,通过反向代理对外集中提供服务


3. 分层风格 Hierarchical Style

优点:简单性,可进化性,可伸缩性





4.移动代码风格 Mobile Code Style

优点:可移植性,可扩展性,网络效率



5.点对点风格 Peer-to-Peer Styles

优点:可进化性,可重用性,可扩展性,可配置性