当前位置: 首页 > news >正文

HTTP协议分析(实验报告)

一、实验目的

1、掌握 HTTP协议在Web应用中的工作机制;

2、理解 HTTP 请求报文构成及各字段含义;

3、理解 HTTP 响应报文构成及各字段含义;

4、通过实际案例,掌握Wireshark 中加载保存的报文文件。

二、实验环境

1、硬件:PC电脑一台,网络正常;

2、配置:Windows10系统,内存8G及以上,硬盘500G及以上

3、软件:

Wireshark(头歌平台:https://www.educoder.net/shixuns/m2ue5wv9/challenges)、浏览器

三、实验内容

根据本章所学知识,实现HTTP协议的工作机制,分为HTTP请求、HTTP响应。 HTTP 请求包括三部分,分别是请求行(请求方法)、请求头(消息报头)和请求正文。HTTP 响应代表服务器端向客户端回送的数据,它包括:一个状态行,若干个消息头,以及实体内容。

实验步骤:

1.HTTP请求

HTTP 请求包括三部分,分别是请求行(请求方法)、请求头(消息报头)和请求正文。HTTP 请求第三行为请求正文,请求正文是可选的,它最常出现在 post 请求方式中,get 请求无正文,所以回车之后为空。示例如下:

浏览器端通过 HTTP 协议发送给服务器的实体数据。get 请求时,通过 url 传给服务器的值 name=dylan&id=110。post 请求时,通过表单发送给服务器的值。也可以为空。

2.HTTP响应

一个 HTTP 响应代表服务器端向客户端回送的数据,它包括:一个状态行,若干个消息头,以及实体内容。示例如下:

响应包含浏览器能够解析的静态内容,例如:HTML,纯文本,图片等等信息。

3.Wireshark中加载保存的报文文件

利用抓包软件 Wireshark 进行抓包,过滤出 HTTP 协议报文。如下图:

查看报文内容:双击展开HTTP请求和响应报文的内容。如下图:

为了避免网络原因带来的问题,完成任务时也可以通过加载以前保存的报文文件。如下图所示,在 Wireshark 的菜单中,依次单击“文件”-“打开”,选中需要加载的文件后,单击“打开”按钮文件中的报文就可以加载到 Wireshark 中,同样可以筛选出"HTTP"报文。

4.操作要求

双击打开桌面上的工作区文件夹"wireshark",再打开实训文件夹"myshixun",并查询到的信息保存到文件message-1.txt。具体要求如下:

(1)打开 Wireshark,加载实训文件夹中的http-ethereal-trace-1文件,并筛选出其中的“HTTP”报文;

(2)选择列表窗口第一条 HTTP 分组,获取分组信息;

(3)展开该 HTTP 分组,查看浏览器运行 HTTP 的版本号,并填写到文件中;

(4)查看 Accept-Language ,查看服务器接受哪种语言,并填写到文件中;

(5)查看客户端的 IP 地址,并填写到文件中;

(6)查看服务器的 IP 地址,并填写到文件中;

(7)选择列表窗口第二条 HTTP 分组,从响应报文中,展开 HTTP 查找服务器返回的状态编码,填写到文件中;

(8)再从响应报文中,查找Content-Length,找到服务器返回的正文字节数,并填写到文件中;

四、实验过程截图

打开网页文件:

找到HTTP版本:

查看客户端与服务器的 IP 地址:

查看服务器接受的语言:

响应行包括 HTTP 版本HTTP/1.1,状态码200,以及消息OK:

在响应报文中继续查找Content-Length,找到服务器返回的正文字节数:

(在头哥里提交测评时,记得保存文件 “save”一下:)

五、实验作业

1、根据要求,完成实验指导里的操作流程。

2、实验结果分析和实验总结:

通过本次实验,我不仅对HTTP协议的理论及其工作机制有了系统的理解,还通过实际案例掌握了如何使用Wireshark进行深入分析,这对于今后更好地理解Web应用的运作、进行故障排除以及优化Web性能具有重要的意义。希望在未来的学习和工作中,能够继续探讨和实践HTTP协议的更多细节,提升网络应用开发及调试能力。

七、心得

在这次实验中能够了解HTTP协议在Web应用中的工作机制,以及HTTP请求报文和响应报文的构成及其各字段的含义,并通过实际案例掌握了如何使用Wireshark加载和保存报文文件。

HTTP(超文本传输协议)是Web应用中最基础和重要的协议之一,主要用在客户端和服务器之间的通信。一般而言,HTTP协议的工作机制可以分三个部分:请求和响应模式:客户端(如浏览器)通过HTTP请求向服务器发送数据,获取所需的资源,例如HTML页面、图片或其他文件。服务器处理请求后返回HTTP响应,其中包含了请求的结果以及所请求的资源。无状态性:HTTP协议是无状态的,这意味着每个请求都是独立的,服务器不保存以前请求的任何信息。这种设计简化了服务器的实现,但也给开发者带来了挑战,如维护用户会话。

连接管理:HTTP/1.1引入了持久连接,使得多个请求可以在单一的TCP连接上进行,从而减少连接建立和关闭的开销。

另外了解了HTTP请求报文构成及字段含义:一个典型的HTTP请求报文由四个部分组成:请求行格式为 METHOD /path HTTP/version,其中: METHOD表示请求的方法,如GETPOSTPUTDELETE等,指示所需进行的操作。

Path为请求的资源路径,指向服务器上所需获取的资源。HTTP/versionHTTP协议版本,如本次实验中的HTTP/1.1

第二个部分是请求头部:包含一系列字段,以键值对的形式提供客户端的信息和指示。其中Host是目标服务器的名称,指明请求的主机。User-Agent是发起请求的客户端软件的名称和版本。Accept是告知服务器可以接收的内容类型。

第三部分是空行,即请求头部与请求体之间用一个空行分隔,指示头部结束。

最后一个部分是请求体,是可选部分,通常用于POSTPUT请求,包含传送的数据,比如表单提交的数据。

另外搞懂了HTTP响应报文构成及字段含义;HTTP响应报文的构成与请求大致相似,主要包括四部分:一个是状态行——格式为 HTTP/version STATUS_CODE reason_phrase,其中HTTP/version表示响应使用的协议版本。STATUS_CODE代表三位数状态码,表示请求的结果,如200(成功)、404(未找到)、500(服务器错误),而reason_phrase则是状态码的文本描述,通常为简洁的说明。

第二部分是响应头部——这包含以键值对形式提供有关响应内容的信息,其中Content-Type表示响应内容的类型,如text/htmlapplication/jsonContent-Length表示响应体的字节长度。Set-Cookie则用于设置浏览器的Cookie

第三部分是空行——响应头部以一个空行结束,表示响应头信息的终止。

第四个组成部分是响应体,包含请求的具体数据内容,如页面的HTML、图像文件等。

而实验中用到的Wireshark是一种强大的网络分析工具,能够捕获、显示和分析网络数据包


http://www.mrgr.cn/news/28778.html

相关文章:

  • DP子序列问题
  • Git提交类型
  • SpringBoot2:web开发常用功能实现及原理解析-整合EasyExcel实现Excel导入导出功能
  • 揭秘MyBatis延迟加载:优化SQL查询与提升性能的利器
  • python绘制月亮
  • 如何申请正高级职称
  • 有机水果蔬菜检测系统源码分享
  • 车型展示+接驳体验!苏州金龙海格客车闪耀汉诺威商用车展
  • C++掉血迷宫
  • pdf去水印怎么去掉免费?6个pdf去除水印的方法快码住,超级好用!
  • 2024/9/16 dataloader、tensorboard、transform
  • 反向传播(Back Propagation,简称BP)
  • CleanClip vs 传统剪贴板:究竟谁更胜一筹?
  • libidn库下载、编译、示例:实现UTF-8转Punycode、Punycode转UTF-8
  • golang学习笔记22——golang微服务中数据竞争问题及解决方案
  • 中国数据中心服务器CPU行业发展概述
  • Java 之多线程基础
  • neo4j(spring) 使用示例
  • Linux:RPM软件包管理以及yum软件包仓库
  • 用 Python 实现将长 Markdown 文档从二级标题开始拆分