Wireshark 实战|HTTP 协议:浏览器和服务器是怎么聊天的?
Wireshark 实战HTTP 协议浏览器和服务器是怎么聊天的大家好我是网域小星球一名网络工程大三学生。上一篇我们拆解了 DNS 域名解析今天我们继续往下走看看拿到 IP 地址后浏览器和服务器之间是如何传输网页内容的 —— 这就是HTTP 协议。目录Wireshark 实战HTTP 协议浏览器和服务器是怎么聊天的一、什么是 HTTP二、抓包实战亲眼看看 HTTP 交互1. 抓包过程2. HTTP 报文总览三、HTTP 报文细节拆解1. HTTP 请求报文第 16 行2. HTTP 响应报文第 45 行四、HTTP 核心概念1. 请求方法2. 状态码3. 无状态特性五、HTTP vs HTTPS六、下一篇预告一、什么是 HTTPHTTPHyperText Transfer Protocol超文本传输协议是互联网最核心的应用层协议专门用于在客户端浏览器 / 系统程序和服务器之间传输文本、接口数据等资源。核心特点基于TCP 协议传输先建立 TCP 连接再传输数据无状态服务器不保存客户端的任何状态信息简单通用支持 GET、POST 等多种请求方法明文传输HTTP/1.x数据不加密容易被窃听通俗理解HTTP 就是客户端和服务器之间的「对话语言」客户端发起请求服务器返回对应资源。二、抓包实战亲眼看看 HTTP 交互1. 抓包过程打开 Wireshark选择当前上网网卡WLAN在过滤栏输入http只显示 HTTP 流量系统自动发起网络连接检测访问http://www.msftconnecttest.com/connecttest.txt停止抓包定位 HTTP 请求与响应报文2. HTTP 报文总览图HTTP 交互序列包含一次 GET 请求和对应的 200 OK 响应序号方向协议说明16客户端 → 服务器HTTPGET 请求请求/connecttest.txt资源45服务器 → 客户端HTTPHTTP/1.1 200 OK 响应返回文本内容三、HTTP 报文细节拆解1. HTTP 请求报文第 16 行核心结构请求行GET /connecttest.txt HTTP/1.1GET请求方法获取资源/connecttest.txt请求路径HTTP/1.1协议版本请求头Host: www.msftconnecttest.com目标服务器域名User-Agent: Microsoft NCSI客户端标识Windows 网络连接检测程序Connection: Close请求完成后关闭 TCP 连接空行分隔请求头和请求体GET 请求无请求体2. HTTP 响应报文第 45 行核心结构状态行HTTP/1.1 200 OKHTTP/1.1协议版本200状态码请求成功OK状态码描述响应头Content-Type: text/plain响应数据类型纯文本Content-Length: 16响应体长度16 字节Connection: close响应完成后关闭 TCP 连接空行分隔响应头和响应体响应体Microsoft Connect TestWindows 网络连通性检测的固定文本四、HTTP 核心概念1. 请求方法GET获取资源本次抓包使用最常见POST提交数据如登录、上传文件PUT更新资源DELETE删除资源2. 状态码2xx成功如200 OK3xx重定向如301 Moved Permanently4xx客户端错误如404 Not Found5xx服务器错误如500 Internal Server Error3. 无状态特性HTTP 本身不保存任何状态服务器不知道你之前访问过什么。如果需要记录登录状态等信息需要借助Cookie/Session来实现。五、HTTP vs HTTPSHTTP明文传输数据容易被窃听、篡改不安全HTTPS在 HTTP 基础上加入了 TLS/SSL 加密层数据加密传输更安全现在大部分网站都已切换到 HTTPS所以平时抓包看到的多是TLSv1.2/TLSv1.3流量而不是明文 HTTP六、下一篇预告下篇我们会用 Wireshark 抓包分析HTTPS 协议看看加密后的流量长什么样以及 TLS 握手是如何建立安全连接的彻底搞懂「安全上网」的底层原理。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2450596.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!