完整的 HTTP 代表超文本传输协议,是客户端和服务器之间的特定数据传输通道。在这种情况下,客户端是搜索者访问互联网时使用的浏览器。另一方面,您的网站是服务器。
最重要的是,所有客户端-服务器 HTTP 通信都通过分配了编号 80 的端口进行。下面是对 HTTP 客户端-服务器通信的简单版本的深入了解。
您可以将 HTTP 客户端-服务器通信比作两个人在开放区域中相互交谈。第一个人请求有关特定主题的详细信息,第二个人提供反馈或响应。(浏览器发送请求,服务器发送响应)
而且由于他们在开放区域交谈,任何人都可以听到他们的谈话并提取细节。(在这篇文章的后面,我们将使用这个概念来确定HTTP 和 HTTPS 之间的主要区别)
下面是一个循序渐进的 HTTP 通信过程。
当互联网用户将他们的浏览器指向您的网址时,该过程就开始了。可以通过在搜索栏中输入您的 URL 或从已打开的页面中点击您的链接。如果您的网站使用协议,浏览器会通过HTTP路径向服务器发送请求。
IP 地址是用于标记连接到网络的设备和服务器的数字。在 HTTP 客户端-服务器通信过程中,浏览器会建立托管您的 URL 的计算机 IP 地址。它使用域名系统解析器(将域名转换为 IP 地址的程序)执行此操作
将站点的域映射到 IP 地址后,浏览器会发送 HTTP 请求。让我们看一个简单的浏览器请求示例。
GET / index.html HTTP/1.1Host:www. 示例.com |
在第一行中,第一个词“GET”是告诉服务器浏览器想要读取您网站内容的 HTTP 动词。
您网站的所有内容都存储在服务器上。因此,浏览器必须指定要加载的页面。在这种情况下,它使用“index.html”来实现。最后,第一行的最后一部分“HTTP/1.1”指定协议及其版本(即协议 HTTP,版本 1.1)
整个第二行显示您网站的域。这部分是必不可少的,因为您网站的服务器可能是托管多个站点. 因此,浏览器必须指定域。
一旦服务器收到来自浏览器的 HTTP 请求,它就会给出以协议和版本开头的响应,然后是标头,最后是请求的实际文档。看看下面的例子。
HTTP/1.1 200 OKContent – 类型:文本/htmlContent – 长度:208 |
HTTP 是协议,1.1 是版本。“200”后面的数字是一个状态代码,告诉浏览器请求的详细信息已成功找到“OK”。如果由于某种原因,无法找到请求的信息,状态代码将不同。例如,“找不到文件”由 404 状态代码表示。
HTTP 响应的下一部分是标头,它向浏览器提供额外信息,帮助它向用户提供内容。“内容类型”标头向浏览器显示服务器发送回的内容类型。在这种情况下,它是“文本/HTML”。
在另一端,“content-length”标头向浏览器显示来自服务器的文档的大小(以字节为单位)。这样,浏览器就可以确定文件的下载时间。在示例中,内容长度为 208 字节。
在标头之后,HTTP 响应向浏览器显示请求的文档。
在收到有关请求的所有必要信息后,浏览器将响应呈现给用户。这标志着 HTTP 通信的结束。
现在我们已经看到了整个 HTTP 客户端-服务器通信过程,重要的是要注意它有一个巨大的缺点。哪个是?整个过程以纯文本的形式发生。这意味着通信未加密,因此可能会被第三方破坏。
也就是说,如果网络访问者通过您的网站提交机密详细信息(如果您使用的是 HTTP 协议),黑客可以轻松进入该过程并窃取敏感信息。这个陷阱是HTTP 和 HTTPS 之间最明显的区别。
HTTP 连接不安全的事实是通道没有被加密传输层安全(TLS),以前称为安全套接字层 (SSL)。TLS 是一种加密您的网站和搜索者浏览器之间通信的协议。
如果您的站点缺少 TLS 协议,则意味着与访问者的通信交换容易受到第三方的攻击。
为了使互联网成为一个安全的漫游场所,浏览器通常会将 HTTP 站点标记为不安全的,从而使人们对一件事有所了解。如果您在您的网站上使用 HTTP 协议,您的网络流量将显着减少,这是由于用户试图留在互联网上的安全区域。
以下是与 HTTP 协议相关的潜在攻击: