- 安全测试教程
- 安全测试 - 主页
- 安全测试 - 概述
- 安全测试 - 流程
- 安全测试-恶意软件
- HTTP 协议基础知识
- HTTPS 协议基础知识
- 编码与解码
- 安全测试-密码学
- 安全测试 - 同源策略
- 安全测试 - Cookie
- 黑客网络应用程序
- 安全测试-注入
- 测试损坏的身份验证
- 测试跨站脚本
- 不安全的直接对象引用
- 测试安全配置错误
- 测试敏感数据暴露
- 缺少功能级别访问控制
- 跨站请求伪造
- 有漏洞的组件
- 未经验证的重定向和转发
- 安全测试 - Ajax 安全
- 测试安全性 - Web 服务
- 安全测试 - 缓冲区溢出
- 安全测试 - 拒绝服务
- 测试恶意文件执行
- 安全测试 - 自动化工具
- 安全测试有用的资源
- 安全测试 - 快速指南
- 安全测试 - 有用的资源
- 安全测试 - 讨论
安全测试 - HTTP 协议基础知识
了解协议对于更好地掌握安全测试非常重要。当我们截取Web服务器和客户端之间的数据包数据时,你就会体会到协议的重要性。
HTTP协议
超文本传输协议 (HTTP) 是分布式协作超媒体信息系统的应用程序级协议。这是自 1990 年以来万维网数据通信的基础。HTTP 是一种通用且无状态的协议,可以用于其他目的,也可以使用其请求方法、错误代码和标头的扩展。
基本上,HTTP 是基于 TCP/IP 的通信协议,用于通过 Web 传送 HTML 文件、图像文件、查询结果等数据。它为计算机之间的通信提供了一种标准化的方式。HTTP 规范指定了客户端请求的数据如何发送到服务器,以及服务器如何响应这些请求。
基本特点
以下三个基本功能使 HTTP 成为一个简单但功能强大的协议 -
HTTP 是无连接的- HTTP 客户端(即浏览器)发起 HTTP 请求。发出请求后,客户端与服务器断开连接并等待响应。服务器处理请求并重新建立与客户端的连接以发回响应。
HTTP 是独立于媒体的- 只要客户端和服务器都知道如何处理数据内容,任何类型的数据都可以通过 HTTP 发送。这是客户端和服务器使用适当的 MIME 类型指定内容类型所必需的。
HTTP 是无状态的- HTTP 是无连接的,这是 HTTP 是无状态协议的直接结果。服务器和客户端仅在当前请求期间彼此了解。后来,两个人都忘记了对方。由于协议的这种性质,客户端和浏览器都无法保留网页上不同请求之间的信息。
HTTP/1.0 对每个请求/响应交换使用一个新连接,而 HTTP/1.1 连接可用于一个或多个请求/响应交换。
建筑学
下图显示了 Web 应用程序的一个非常基本的架构,并描述了 HTTP 所在的位置 -
HTTP协议是基于客户端/服务器架构的请求/响应协议,其中Web浏览器、机器人和搜索引擎等充当HTTP客户端,Web服务器充当服务器。
客户端- HTTP 客户端以请求方法、URI 和协议版本的形式向服务器发送请求,随后通过 TCP/IP 连接发送包含请求修饰符、客户端信息和可能的正文内容的类似 MIME 的消息。
服务器- HTTP 服务器使用状态行进行响应,包括消息的协议版本和成功或错误代码,后跟包含服务器信息、实体元信息和可能的实体主体内容的类似 MIME 的消息。
HTTP——缺点
HTTP 不是一个完全安全的协议。
HTTP 使用端口 80 作为默认通信端口。
HTTP 运行在应用层。它需要创建多个连接来进行数据传输,这增加了管理开销。
使用 HTTP 不需要加密/数字证书。
HTTP 协议详细信息
为了深入了解 HTTP 协议,请单击以下每个链接。