【计算机网络】HTTP协议实验

一:实验目的

1:理解HTTP协议的基本工作原理。

2:使用Wireshark或其他抓包工具捕获并分析HTTP数据包,理解HTTP通信的具体过程。

3:通过分析抓包数据,识别常见的HTTP状态码及其含义。

二:实验仪器设备及软件

硬件:Windows操作系统的计算机等。

软件:命令提示符、记事本、wireshark等。

三:实验方案

在cmd窗口下执行相关的DHCP命令,同时在wireshark中进行抓包操作,最后分析实验结果。

四:实验步骤

建立自己网站-小组内配置至少2台web服务器,主页显示“这是第*组的web网站”(内网)

(1)Telnet 到一个Web服务器:telnet *.*.*.*  80(首先查看这个机器23端口是否开放,netstat,打开后才可执行)

(2)键盘输入GET方法的HTTP请求报文:

GET  HTTP协议及版本(如:HTTP/1.1) 请求URL

例:GET / HTTP/1.1

Host:URL地址(不能是IP地址,需要是域名)

(3)抓包观察HTTP服务器返回的响应报文

五:实验结果及分析

1:Telnet到一个Web服务器。

执行命令:telnet 10.206.1.6 80,运行结果如下图所示。

回车后,会进入连接界面,此时需要先按下ctrl + ],进入命令字符明文显示界面,然后再按下回车,进入命令编写界面。

2:键盘输入GET方法的HTTP请求报文。

执行命令:GET / HTTP/1.1,然后回车,再执行命令:Host:localhost,运行结果如下图所示。

可以发现返回了一个网页内容,同时还返回了Content-Type、Last-Modified、Accept-Ranges、ETag、Server、X-Powered-By、Date、Content-Length等信息。

3:抓包观察HTTP服务器返回的响应报文。

Wireshark所捕获到的http报文,如下图所示。

可以发现,一共出现了2条报文。

第一条是GET / HTTP/1.1,是客户端(10.206.1.5)向服务器(10.206.1.6)发送的一条HTTP GET请求,要求获取服务器根路径(/)上的资源。具体的报文内容,如下图所示。

第二条是HTTP/1.1 200 OK,是服务器(10.206.1.6)对客户端(10.206.1.5)请求的回应,表示请求成功(状态码200 OK),并返回了HTML内容。具体的报文内容,如下图所示。

六:实验总结及体会

1:一个完整的HTTP请求-响应过程:(1)客户端发送HTTP GET请求。(2)服务器接收请求并发送HTTP 200 OK响应,包含HTML内容。

2:如果HTML中还包含图片、视频等外部超链接信息,客户端还会额外发送对这些外部超链接信息的HTTP请求,之后会返回图片、视频等内容的文件到本地。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/50510.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

光伏电站的运维经验

选择逆变器一是要看产品本身的效率和品质;二是要看系统的架构,怎么做的更简单,更可靠;三是要看场景的适应性;四是看服务。箱式逆变房后期运维无需协调多个厂家,大大提升了运维效率。相比自制土建房&#xf…

02集成开发工具配置VScode SSH连接Ubuntu20.04 - 输入密码连接

文章目录 1. running the VScode in Admin mode2. Install the plugin3. New Remote4. Enther the command at the top blanket column in VS Code5. Setup the ssh config file6. Restart VScode7. Connect to the Server8. Open the remote folder 1. running the VScode in …

Python 函数对象和函数调用

Python 函数对象和函数调用 在 Python 中,函数是第一类对象(first-class objects)。这意味着函数可以像其他对象(如整数、字符串、列表等)一样被传递、赋值和操作。理解函数对象和函数调用的区别是学习 Python 的关键…

简单了解反射

反射 文章目录 反射获取class对象的三种方式利用反射获取构造方法利用反射获取字段(成员变量)利用反射获取成员方法反射的作用 获取class对象的三种方式 ①Class.forName(“全类名”);(源代码阶段使用) ②类名.class&#xff08…

学习C语言之 深入了解指针1

深入了解指针 前面已了解到 1)指针就是个变量,用来存放地址,地址是唯一的,可以标识一块内存空间。 2)指针的大小是固定的4/8个字节(32位平台/64位平台)。 3)指针是有类型的&#xf…

Linux中如何用ida调试fork后的子进程

原文链接 > https://redqx.github.io/linux/2024/07/24/linux-debugfork.html 本文的一些图片引用可能有一些问题, 比如数据不对劲,但无伤大雅 自己懒得粘贴图片了 环境: wsl-kali-2024 ida-7.7 插件: Lazy_ida, 还有一个什么插件不知道什么名字, 可以把汇编转字节码 …

mac安装Whisper

Whisper 官方git https://github.com/openai/whisper?tabreadme-ov-file 基本上参考官方的安装流程 pip3 install -U openai-whisper pip3 install githttps://github.com/openai/whisper.git pip3 install --upgrade --no-deps --force-reinstall githttps://github.com/…

牛客周赛52--E小红的图上加边(联通块)

链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述 \,\,\,\,\,\,\,\,\,\,小红有一张 nnn 个点 mmm 条边的无向图,每个节点的权值是 aia_iai​。           \,\,\,\,\,\,\,\,\,\,现在小红希望加边把这个图连成连通…

Elasticsearch概念及ELK安装

1、Elasticsearch是什么 它是elastic技术栈中的一部分。完整的技术栈包括: Elasticsearch:用于数据存储、计算和搜索 Logstash/Beats:用于数据收集 Kibana:用于数据可视化 整套技术栈被称为ELK,经常用来做日志收集…

ansible的role目录结构及用法

目录 目录结构介绍案例 目录结构介绍 可以通可以通过使用 ansible-galaxy 命令再当前目录自动生成 role 的基本目录结构。 myrole为文件名(角色名) ansible-galaxy init myrole如果没有安装Ansible Galaxy,你可以使用以下命令安装&#xff…

Python 函数的参数形式

Python 函数的参数形式 Python 函数的参数有多种形式,每种形式在不同的场景下使用。我们主要介绍以下几种: 位置参数关键字参数默认参数可变位置参数(*args)可变关键字参数(**kwargs) 1. 位置参数 位置…

python题解

宽度与对齐 输出455、-123、987654,宽度为5,分别左对齐和右对齐 格式 输入格式: 无 输出格式: 输出为整型,空格分隔。每个数的输出占一行 样例 1 输入: 无 复制 输出: 455 455 -123 -123 98…

Vue的SSR和预渲染:提升首屏加载速度与SEO效果

引言 在现代Web应用开发中,首屏加载速度和搜索引擎优化(SEO)是衡量应用性能的重要指标。Vue.js 作为流行的前端框架,提供了服务器端渲染(SSR)和预渲染(prerendering)两种技术来提升这些指标。本文将深入探讨如何使用 Vue 的 SSR 和预渲染技术,提供详细的代码示例和最…

FFmpeg源码:av_probe_input_format3函数分析

一、av_probe_input_format3函数的声明 av_probe_input_format3函数声明在FFmpeg源码(本文演示用的FFmpeg源码版本为5.0.3)的头文件libavformat/avformat.h中: /*** Guess the file format.** param is_opened Whether the file is already…

Go语言的数据结构

数据结构 数组 支持多维数组,属于值类型,支持range遍历 例子:随机生成长度为10整数数组 package main import ("fmt""math/rand" ) // 赋值 随机获取100以内的整数 func RandomArrays() {var array [10]int //声明var…

【MySQL进阶篇】锁:全局锁、表级锁以及行级锁

一、锁的概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须要解决的一个问题&am…

C语言11 结构体、共用体、枚举和重定义

目录 结构体(Struct) 定义结构体 声明和初始化结构体变量 访问结构体成员 嵌套结构体 指向结构体的指针 共用体(Union) 定义共用体 声明和使用共用体 重定义(Typedef) 定义类型别名 使用类型别…

Person Re-Identification(Re-ID)的分类

行人重识别(Person Re-Identification, Re-ID)是计算机视觉和深度学习中的一个重要任务,旨在通过图像或视频中的行人外观信息来识别和追踪同一个人在不同摄像头视角下的出现。根据任务的不同,行人重识别可以分为以下几类&#xff…

室内消防逃生通道占用检测AI算法:科技筑防,守护生命通道

随着城市化进程的加快,高层建筑和大型公共场所的数量急剧增加,消防安全问题愈发凸显。其中,室内消防逃生通道的畅通性直接关系到火灾发生时人员的安全疏散。然而,由于各种原因,如杂物堆放、车辆停放等,消防…

nacos 2.3.2 若依使用mysql

1)从官网下载 nacos,如果下载慢,关注从本人发布上传下载也可以 2)修改配置文件 【config】-【application.properties】 ### Deprecated configuration property, it is recommended to use spring.sql.init.platform replaced.…