渗透测试(14)- HTTP协议解析

        HTTP(HyperText Transfer Protocol)即 超文本传输协议 ,是一种详细规定了浏览器和 服务器之间互相通信的规则,它是万维网交换信息的基础,它允许将 HTML( 超文本标 记语言 ) 文档从 Web 服务器传送到Web 浏览器,用于客户端和服务器之间的通信。
1、发起http请求
当在浏览器输入一个网址回车后,就是发起了一次http请求。 URL( 统一资源定位符 ) 也被称为网页地址 ,是互联网标准的地址。
URL 的标准格式如下 :
http[s]:// 服务器 IP:端口号/ 路径 [? 查询参数]
        借助浏览器可以快速发起一次HTTIP 请求,除了借助浏览器,在 Linux 系统中的 curl 命令也可以发起http请求(当然还有其他方法)。所以说,浏览器是属于 HTTP 工具的一种。
2、HTTP 协议详解
        
        http协议是一种无状态的协议。无状态是指Web 浏览 器与 Web 服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求, 然后 Web 服务器返回响应 (Response), 连接就被关闭了在服务器端不保留连接的有关信息。 也就是说, HTTP 请求只能由客户端发起而服务器不能主动向客户端发送数据。 HTTP 遵循请求 (Request)/ 应答 (Response) 模型 Web 浏览器向 Web 服务器发送请求时, Web 服务器处理请求并返回适当的应答。
2.1 http请求
        HTTP 请求包括三部分,分别是请求行 ( 请求方法 ) 、请求头 ( 消息报头 ) 和请求正文(也叫请求体):
(1) 请求行 : HTTP 请求行的第一行即为请求行,请求行由三部分组成,第一部分 说明了该请求的请求方法 ; 该行的第二部分是一个斜杠 (/login.php), 用来说明请求路径 ; 该行的最后一部分说明使用的是 HTTP1.1 版本 ( 另一个可选项是 1.0)
(2) 第二行至空白行为 HTTP 中的请求头 ( 也被称为消息头 ) 。其中, HOST 代表请求的主机地址, User-Agent 代表浏览器的标识。
(3) HTTP 请求的最后一行为请求正文,请求正文是可选的,一般出现在 POST 请求方法中。
2.2 http响应
         HTTP 响应也由三部分内容组成,分别是响应行、响应头(消息报头)和响应正文(消息主题)

 

(1)HTTP 响应的第一行为响应行,其中有 HTTP 版本 (HTTP/1.1) 、状态码 (200) 以及消息
(2)第二行至末尾的空白行为响应头,由服务器向客户端发送消息
(3)报头之后是响应正文,是服务器向客户端发送的 HTML 数据
2.3 http请求方法
         HTTP 请求的方法非常多,其中最常见的是 GET 、POST 。 GET 方法用于获取请求页面的指定信息 ( 以实体的格式 ) 。如果请求资源为动态脚本 ( HTML), 那么返回文本是 Web 容器解析后的 HTML 源代码,而不是源文件。比如请求的是php网页,但返回的是html格式的文件。 POST 方法也与 GET 方法相似,但 GET 方法没有请求内容而 POST 有请求内容的 POST 请求最多用于向服务器发送大量的数据。 GET 虽然也能发送数据, 但是有大小 ( 长度 ) 的限制,并且 GET 请求会将发送的数据显示在浏览器端,而 POST 则不 会,所以安全性相对来说高一点。
2.3 http响应的状态码
1xx: 信息提示,表示请求已被成功接收,继续处理。其范围为 100~101
2xx: 成功,服务器成功地处理了请求。其范围为 20 ~206
3xx: 重定向,重定向状态码用于告诉浏览器客户端,它们访问的资源已被移动,并告 诉客户端新的资源地址位置。或者是页面的跳转,比如从一个登录页面输入用户和密码后跳转到网站的主页面,这时,浏览器将重新对新资源发起请求。其范围 300~ 305
4xx: 客户端错误状态码,有时客户端会发送一些服务器无法处理的东西,比如格式错误的 请求,或者最常见的是,请求一个不存在的 URL 。其范围为 400~415
5xx: 有时候客户端发送了一条有效请求,但 web 服务器自身却出错了,可能是 web 服务器 运行出错了,或者网站都挂了。 5xX 就是用来描述服务器内部错误步其范围为 500 ~505
以下为常见的状态码,必须熟记:
  • 200:客户端请求成功,是最常见的状态。
  • 302:重定向。
  • 404:请求资源不存在,是最常见的状态。
  • 400:客户端请求有语法错误,不能被服务器所理解。
  • 401:请求未经授权
  • 403:服务器收到请求,但是拒绝提供服务
  • 500:服务器内部错误,是最常见的状态。
  • 503:服务器当前不能处理客户端的请求一段时间后可能恢复正常。

2.4 HTTP协议与HTTPS 协议的区别

        HTTPS其实就是HTTP 的“升级”版本,只是它比单纯的HTTP 协议更加安全。即在HTTP 下加入SSL层。也就是HTTPS 通过安全传输机制进行传送数据,这种机制可保护网络传送的所有数据的隐秘性与完整性,可以降低非侵入性拦截攻击的可能性。既然是在HTTP的基础上进行构建HTTPS 协议,所以,无论怎么样HTTP 请求与响应都是以相同的方式进行工作的。

HTTP 协议与 HTTPS 协议的主要区别如下
1 HTTP 是传输信息是明文传输, HTTPS 则是有安全性的 SSL 加密 传输
2 HTTP 采用 80 端口, HTTP S 443 端口。
3 HTTPS 协议需要到 ca 申请证书,一般免费证书很少,需要交费,也有些 Web 容器提供, HTTP 协议却不需要。
4 HTTP 连接相对简单,是无状态的 HTTPS 协议是由 SSL+HTTP 协议构建的可进行加 密传输、身份认证的网络协议,相对来说,要比 HTTP 协议更安全。

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

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

相关文章

十二、Qt 操作PDF文件(2)

一、在《十、Qt 操作PDF文件-CSDN博客》中我们用Poppler类库打开了PDF文件,并显示到窗体上,但只能显示一页,功能还没完善,在本章节中,加入了: 通过选择框选择PDF文件并打开,默认打开第一页。通…

实战 | 奇怪的万能密码

本文由掌控安全学院 - 杳若 投稿 前言 打的站点打多了,什么奇怪的问题都会发生 打点 开局一个登录框 用户枚举到账号爆破 测了一下,没发现admin的弱口令,但是发现存在用户枚举漏洞,因此准备跑一下账号 输入密码为123456 进行…

华清远见作业第三十天——网络编程(第五天)

思维导图&#xff1a; 使用selsect实现TCP客户端的并发 代码 #include<a.h> #define SER_PORT 8888 //服务器端口号 #define SER_IP "192.168.125.50" //服务器ip地址 #define CLI_PORT 6666 //客户端的端口号 #define CLI_I…

阿里云PolarDB开发者大会首度召开,让数据库开发像“搭积木”一样简单

1月17日&#xff0c;首届阿里云PolarDB开发者大会在京举办&#xff0c;中国首款自研云原生数据库PolarDB发布“三层分离”全新版本&#xff0c;基于智能决策实现查询性能10倍提升、节省50%成本。面向开发者&#xff0c;阿里云全新推出数据库场景体验馆、训练营等系列新举措&…

乐观锁与悲观锁:高并发场景下的选择

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

实战纪实 | 记一次攻防演练

看到一处登录后台&#xff0c;各种操作都尝试过无果&#xff0c;翻了一下js,看到一处文件上传接口泄露&#xff08;没图了&#xff0c;已经整改了&#xff09; 构造上传数据包&#xff0c;很nice,上传成功 直接连接webshell&#xff0c;搭建隧道进行内网穿透 翻看配置文件&…

TCP 拥塞控制对数据延迟的影响

哈喽大家好&#xff0c;我是咸鱼 今天分享一篇文章&#xff0c;是关于 TCP 拥塞控制对数据延迟产生的影响的。作者在服务延迟变高之后进行抓包分析&#xff0c;结果发现时间花在了 TCP 本身的机制上面&#xff1a;客户端并不是将请求一股脑发送给服务端&#xff0c;而是只发送…

【开源】基于JAVA语言的河南软件客服系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统管理人员2.2 业务操作人员 三、系统展示四、核心代码4.1 查询客户4.2 新增客户跟进情况4.3 查询客户历史4.4 新增服务派单4.5 新增客户服务费 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的河…

新能源汽车出海业务之报关

引言 在做中国新能源汽车出海业务的信息化建设过程&#xff0c;秉承着深入了解业务的原则&#xff0c;对业务全链路进行学习了解总结&#xff0c;本文是针对出口报关业务环节的一些个人积累总结&#xff0c;供与诸位交流学习。 业务概述 报关是指在国际贸易中&#xff0c;出口…

Marin说PCB之关于1000 BASE-T1--ESD的处理知多少?

对于板子上的ESD器件想必大家做硬件或者是layout应该的不陌生吧&#xff0c;我们几乎遇到大部分板子上面的接口部分都会添加这个ESD器件&#xff0c;例如那些USB,MIPI接口&#xff0c;百兆/千兆-T1以太网连接器等。 其中T1连接器用的是罗森博格家的&#xff0c;在这个链路中有一…

腾讯云轻量化应用服务器_轻量化应用服务器_轻量化私有云

腾讯云轻量应用服务器开箱即用、运维简单的轻量级云服务器&#xff0c;CPU内存带宽配置高并且价格特别便宜&#xff0c;大带宽&#xff0c;但是限制月流量&#xff0c;轻量2核2G3M带宽62元一年、2核2G4M优惠价118元一年&#xff0c;540元三年、2核4G5M带宽218元一年&#xff0c…

Docker 仓库管理

Docker 仓库管理 仓库&#xff08;Repository&#xff09;是集中存放镜像的地方。以下介绍一下 Docker Hub。当然不止 docker hub&#xff0c;只是远程的服务商不一样&#xff0c;操作都是一样的。 Docker Hub 目前 Docker 官方维护了一个公共仓库 Docker Hub。 大部分需求…

如何在MinIO存储服务中通过Buckets实现远程访问管理界面上传文件

文章目录 前言1. 创建Buckets和Access Keys2. Linux 安装Cpolar3. 创建连接MinIO服务公网地址4. 远程调用MinIO服务小结5. 固定连接TCP公网地址6. 固定地址连接测试 前言 MinIO是一款高性能、分布式的对象存储系统&#xff0c;它可以100%的运行在标准硬件上&#xff0c;即X86等…

ArcGIS Pro 标注牵引线问题

ArcGIS Pro 标注 模仿CAD坐标牵引线问题 右键需要标注的要素&#xff0c;进入标注属性。 选择背景样式 在这里有可以选择的牵引线样式 选择这一个&#xff0c;可以根据调整间距来进行模仿CAD标注样式。 此图为cad样式 此为调整后gis样式 此处可以调整牵引线的样式符号 …

ClickHouse学习笔记(六):ClickHouse物化视图使用

文章目录 1、ClickHouse 物化视图2、物化视图 vs 普通视图3、物化视图的优缺点4、物化视图的用法4.1、基本语法4.2、准备表结构4.3、准备数据4.4、查询结果 1、ClickHouse 物化视图 ClickHouse 的物化视图是一种查询结果的持久化&#xff0c;它的存在是为了带来查询效率的提升…

KubeSphere 开源社区 2023 年度回顾与致谢

2023 年结束了&#xff0c;让我们再一次一起回顾一下 KubeSphere 开源社区在过去一年的变化。更重要的是&#xff0c;本篇文章将会对 2023 年所有参与过 KubeSphere 社区贡献的成员致以最诚挚的感谢&#xff0c;快来看看有没有你&#xff01; 开源项目发展情况 2023 年&#…

go实现判断20000数据范围内哪些是素数(只能被1和它本身整除的数),采用多协程和管道实现

实现一个并发程序&#xff0c;用于寻找 20000 以内的所有素数。使用了 Goroutines 和 Channels 来分发和处理任务&#xff0c;并通过 WaitGroup&#xff08;实现为 exitChan&#xff09;来同步 Goroutines 的退出。 一.GO代码 package mainimport ("fmt""time…

Python-基础篇-类与对象/面向对象程序设计-py脚本

面向对象基础 第一个面向对象 class Cat:def eat(self):print("小猫爱吃鱼")def drink(self):print("小猫要喝水")# 创建猫对象 tom Cat()tom.eat() tom.drink()print(tom)addr id(tom) print("%x" % addr)新建两个猫对象 class Cat:def ea…

NAT实验

一&#xff1a;实验要求 二&#xff1a;实验分析 拓扑图 三&#xff1a;实验配置 1&#xff1a;路由器配置 R1配置IP R2配置IP 2&#xff1a;缺省路由 查看路由表 3&#xff1a;端口映射 4&#xff1a;pc、HTTP配置 5:DNS、client配置 四&#xff1a;实验结果 pc可以ping…

三菱plc学习入门(创建属于自己的FB模块)

在现实生活中&#xff0c;往往会需要修改一些属于方便自己的库&#xff0c;1&#xff0c;自己创建的库方便自己使用与查看2&#xff0c;提高自己编程能力&#xff0c;3&#xff0c;保护自己的程序不被外人修改&#xff01;&#xff01;&#xff01;下面就让我来操作一下 导入需…