术语表 其他 H

HTTP

HTTP

什么是 HTTP?

超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的网页浏览器(如 Chrome、Firefox、Safari)在获取网页时会使用 HTTP 协议。HTTP 定义了客户端(通常是网页浏览器)与服务器之间请求和响应的规则,是万维网(WWW)的数据传输基础。

简单来说,HTTP 就像是网页浏览器和 Web 服务器之间沟通的语言。当你输入一个网址并按下回车键时,浏览器会发送一个 HTTP 请求给服务器,服务器再返回一个 HTTP 响应,其中包含了你请求的网页内容。

HTTP 的工作原理:请求-响应模型

HTTP 是一个基于客户端-服务器模型的协议,其基本工作原理遵循一个简单的请求-响应模型:

  1. 客户端发起请求 :

    • 客户端(通常是网页浏览器)向服务器发送一个 HTTP 请求。请求通常包含以下部分:
      • 请求方法: 如 GET、POST,指示服务器要执行的操作。
      • 请求URI : 通常是指向特定资源的统一资源标识符 (URI),即你访问的网址。
      • 版本号: 如 HTTP/1.1 或 HTTP/2,指明使用的协议版本。
      • 头部信息: 包含附加信息,如客户端类型、接受的编码、Cookie 等。
      • 请求体: 部分请求(如 POST)会包含要发送给服务器的数据。
  2. 服务器处理请求:

    • 服务器接收到请求后,根据请求的方法、URI 和其他信息进行处理。
    • 处理可能包括查找文件、执行脚本、访问数据库等。
  3. 服务器发送响应:

    • 处理完成后,服务器向客户端发送一个 HTTP 响应。响应也包含以下部分:
      • 状态码: 如 200 (成功)、404 (未找到资源)、301 (永久重定向) 等,指示请求处理的结果。
      • 状态消息: 与状态码对应的文字说明,如 “OK”、“Not Found”、“Moved Permanently”。
      • 头部信息 : 包含附加信息,如内容类型 (Content-Type)、内容长度 (Content-Length)、缓存控制指令等。
      • 响应体 : 包含实际的数据,如网页内容 (HTML)、图片、视频、JSON 数据等。对于 GET 请求的普通网页访问,响应体通常是 HTML。
  4. 客户端接收响应:

    • 客户端接收到响应后,解析状态码和头部信息。如果状态码是 2xx 系列(成功),客户端会解析响应体(通常是 HTML),并将其渲染成用户可见的网页。

这个过程不断重复,构成了我们日常上网浏览网页、提交表单、加载图片等所有 Web 活动的底层基础。

HTTP 正在面临哪些安全问题?

尽管 HTTP 是万维网的基础,但其设计本身存在一些显著的安全问题,主要是因为它是一个明文传输协议 (Plain Text Transmission Protocol)。这意味着客户端和服务器之间传输的所有数据,包括密码、个人身份信息、敏感业务数据等,都是未经加密的,可以被任何能够监听到网络流量的第三方(攻击者)轻易截获和读取。

主要安全问题包括:

  1. 数据泄露与窃听:

    • 由于传输内容是明文的,任何掌握了网络嗅探技术(如使用 Wireshark 等工具)或在用户与服务器、服务器与代理之间进行监听的攻击者,都可以捕获到 HTTP 请求和响应的详细信息。
    • 这可能导致敏感信息(如用户名、密码、信用卡号、个人信息等)被泄露,造成严重的隐私侵犯和身份盗窃风险。
  2. 中间人攻击:

    • 攻击者可以插入自身到客户端和服务器之间的通信路径中,充当“中间人”。他们可以拦截、篡改、读取或重放 HTTP 请求和响应。
    • 例如,攻击者可以截获用户提交的登录凭据,然后将其发送给真实服务器,同时自己保存一份,从而窃取用户账户。
    • 由于 HTTP 没有内置验证机制来确认通信双方的身份,这种攻击相对容易实现。
  3. 跨站脚本攻击:

    • 虽然 XSS 本身是网站应用程序层面的漏洞,但通常通过 HTTP GET 或 POST 请求从服务器获取数据(如动态生成的内容、从第三方服务请求数据等),然后未经充分过滤地将这些数据嵌入到网页中。
    • 如果服务器返回的数据包含了攻击者注入的恶意脚本,当其他用户访问该网页时,这些脚本会在用户的浏览器中执行,从而窃取用户数据、会话 cookie 或进行其他恶意操作。
  4. 拒绝服务攻击:

    • 攻击者可以发送大量无效或恶意的 HTTP 请求到服务器,消耗服务器的资源(如带宽、CPU、内存),使其无法响应正常用户的请求,导致服务中断。
  5. 会话劫持:

    • HTTP 协议本身不提供机制来保证会话的机密性和完整性。如果用户在未使用 HTTPS 的 HTTP 应用中使用会话(Session),攻击者可以更容易地截获包含会话标识符(Session ID)的 Cookie,从而接管用户的会话,冒充用户身份进行操作。

HTTPS与HTTP的关系?为何需要 HTTPS?

由于上述固有的安全问题,HTTP 已逐渐被**HTTPS(HTTP Secure)**所取代或结合使用。HTTPS 在 HTTP 的基础上加入了 SSL/TLS 协议层,提供了以下安全机制:

  • 数据加密 (Encryption): 使用密钥对数据进行加密,确保即使在公共网络上传输,数据也能被保护,防止被窃听。
  • 身份验证 (Authentication): 通过数字证书验证服务器的身份,防止中间人攻击,让用户知道他们正在与真正的服务器通信。
  • 数据完整性 (Integrity): 确保传输的数据在传输过程中没有被篡改。

正是由于这些安全特性,HTTPS 成为了保护用户数据、维护隐私和建立用户信任的现代 Web 应用的标准。对于处理敏感信息的网站(如电商、网银、社交媒体、登录页面等),以及需要遵守数据保护法规(如 GDPR)的网站,强制使用 HTTPS 至关重要。


DuoPlus云手机

保护您的多账户安全不受封禁

免费使用

全球社媒营销,就选DuoPlus

无需购买多台真实手机,一人即可在电脑面前,操作N台云手机,N个社媒账号为您引流带货。

立即开始体验
*