HTTP协议基础

理解协议对于掌握安全测试非常重要。当我们拦截网络服务器和客户端之间的数据包数据时,您将能够理解协议的重要性。

1. HTTP协议

超文本传输协议(HTTP)是用于分布式协作超媒体信息系统的应用程序级协议。它是自1990年以来万维网数据通信的基础。HTTP是一种通用的无状态协议,可以用于其他目的,也可以使用其请求方法,错误代码和标头的扩展。

基本上,HTTP是基于TCP/IP的通信协议,用于通过Web传送诸如HTML文件,图像文件,查询结果等数据。它为计算机相互通信提供了标准化的方法。HTTP规范指定客户端请求的数据如何发送到服务器,以及服务器如何响应这些请求。

2. 基本功能

以下三个基本功能使HTTP成为简单而强大的协议 -

  • HTTP是无连接的 - HTTP客户端,即浏览器发起HTTP请求。发出请求后,客户端将断开与服务器的连接并等待响应。服务器处理请求并重新建立与客户端的连接以发回响应。

  • HTTP与介质无关 - 只要客户端和服务器都知道如何处理数据内容,就可以通过HTTP发送任何类型的数据。客户端和服务器都需要使用适当的MIME类型指定内容类型。

  • HTTP是无状态的 - HTTP是无连接的,这是HTTP是无状态协议的直接结果。服务器和客户端仅在当前请求期间相互了解。之后,他们两个都忘记了彼此。由于协议的这种性质,客户端和浏览器都不能在跨网页的不同请求之间保留信息。

HTTP/1.0为每个请求/响应交换使用新连接,而HTTP/1.1连接可用于一个或多个请求/响应交换。

3. 架构

下图显示了Web应用程序的一个非常基本的体系结构,并描述了HTTP所在的位置 -

HTTP体系结构

HTTP协议是基于客户端/服务器体系结构的请求/响应协议,其中web浏览器,机器人和搜索引擎等充当HTTP客户端并且web服务器充当服务器。

客户端 - HTTP客户端以请求方法,URI和协议版本的形式向服务器发送请求,后跟包含请求修饰符,客户端信息和TCP / IP连接上可能的正文内容的类似MIME的消息。

服务器 - HTTP服务器以状态行响应,包括消息的协议版本和成功或错误代码,后跟包含服务器信息,实体元信息和可能的实体主体内容的类似MIME的消息。

HTTP协议是基于客户端/服务器体系结构的请求/响应协议,其中web浏览器,机器人和搜索引擎等充当HTTP客户端并且web服务器充当服务器。

  • 客户端 - HTTP客户端以请求方法,URI和协议版本的形式向服务器发送请求,后跟包含请求修饰符,客户端信息和TCP/IP连接上可能的正文内容的类似MIME的消息。

  • 服务器 - HTTP服务器以状态行响应,包括消息的协议版本和成功或错误代码,后跟包含服务器信息,实体元信息和可能的实体主体内容的类似MIME的消息。

HTTP的缺点

  • HTTP不是完全安全的协议。
  • HTTP使用端口80作为通信的默认端口。
  • HTTP在应用层运行。它需要为数据传输创建多个连接,这会增加管理开销。
  • 使用HTTP不需要加密/数字证书。

4. Http协议详细信息

为了理解HTTP协议的深入,请点击以下链接分别了解它们。


上一篇:安全测试恶意软件

下一篇:HTTPS协议基础

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程