Wireshark中的http协议包分析

Wireshark可以跟踪网络协议的通讯过程,本节通过http协议,在了解Wireshark使用的基础上,重温http协议的通讯过程。

TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于 字节流的传输层 通信协议。

HTTP(HyperText Transfer Protocol,超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议,是万维网的数据通信的基础。

下图是访问百度页面的头部文件的Wireshark数据包截取图,以下几点说明如下:

  1. 通过tcp的筛选条件,是由于tcp位于http协议的低层协议,可以完整抓取http的通讯过程。

  2. 图中10、12、13号数据包是tcp的3次握手。

  3. 从14、15、16、17是一个完整的http通讯过程。

浏览器向网页服务器发出请求,当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(se rver header)用以响应浏览器的请求。HTTP状态码的英文为HTTP Status Code。

五种状态码:

1xx:信息提示,表示请求已被成功接收,继续处理。

2xx:请求被成功提交。

3xx:客户端被重定向到其他资源。

4xx:客户端错误状态码,格式错误或者不存在资源。

5xx:描述服务器内部错误。

向服务器发起一个HEAD请求,这个方法在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。

  1. 图中28、29、33、34数据包是tcp的4次挥手。
相关推荐
Java致死1 分钟前
单例设计模式
java·单例模式·设计模式
胡子发芽5 分钟前
请详细解释Java中的线程池(ThreadPoolExecutor)的工作原理,并说明如何自定义线程池的拒绝策略
java
沫夕残雪9 分钟前
Tomcat的安装与配置
java·tomcat
前端大白话15 分钟前
前端崩溃瞬间救星!10 个 JavaScript 实战技巧大揭秘
前端·javascript
胡子发芽21 分钟前
请解释Java中的NIO(New I/O)与传统I/O的区别,并说明NIO中的关键组件及其作用
java
一千柯橘26 分钟前
Nestjs 解决 request entity too large
javascript·后端
柚个朵朵38 分钟前
IDEA中使用Git
java·git·spring
举个栗子dhy1 小时前
如何处理动态地址栏参数,以及Object.entries() 、Object.fromEntries()和URLSearchParams.entries()使用
javascript
宁静_致远1 小时前
React Native 技术栈:基于 macOS 开发平台的 iOS 应用开发指南
前端·javascript·react native
H5开发新纪元1 小时前
VS Code 插件开发实战:代码截图工具
javascript·visual studio code