HTTP(超文本传输协议)是万维网使用的底层协议,它定义了消息的格式和传输方式。了解它的用途和主要组成部分,了解它的内在功能。
什么是 HTTP,它是如何工作的?
HTTP 代表超文本传输协议。它是一种标准协议,定义了消息如何在网络上格式化和发送。CERN 的团队以Tim Berners-Lee为领导,以发明原始 HTTP 和 HTML 而闻名。Tim Berners-Lee 也是1989 年首次提出“万维网”项目的人。
HTTP 的第一个版本有一个名为 GET 的方法。GET 方法用于从服务器请求页面,服务器总是以 HTML 页面响应。
今天的 HTTP 用于传递各种内容,包括图像、视频、文档、音频等。 从某种意义上说,HTTP 充当了网络的信使。它将消息从客户端传递到服务器,反之亦然。
客户端和服务器是 Internet 上的两个主要参与者。 客户端是发出请求的计算机。此角色由 Web 浏览器(例如 Google Chrome 或 Safari)执行。
服务器位于通信流的另一端。服务器的工作是为客户请求的文档提供服务。
让我们解释一下这个过程:
您打开笔记本电脑并单击浏览器,比如 Google Chrome。这是您通过 Web 客户端访问 Internet。
您向 Web 服务器发送请求以访问页面。
服务器接收请求。
服务器响应。
每次单击链接时都会发生这种关系。
HTTP 的三个重要方面
HTTP 是无连接的
“HTTP 是无连接的”是指客户端发出请求后,与服务器断开连接。当响应准备好时,连接会重新建立以传递响应。然后它再次关闭。
HTTP 是无状态的
“HTTP 是无状态的”意味着客户端和服务器仅在当前请求期间才知道彼此。请求完成后,他们就忘记了对方。如果两台计算机想再次连接,它们将需要重新提供彼此的信息。第二个连接的处理方式与第一个连接相同。
HTTP 可以传递任何类型的数据
只要两台计算机知道如何处理它,HTTP 就可以传递任何类型的数据。
HTTP的目的是什么?
HTTP 的目的是获取客户端请求的资源。 这是客户端和服务器之间的请求-响应循环的示例:
客户端和服务器计算机必须通过 Internet 连接。
建立连接后,客户端通过 HTTP 消息请求访问资源。
由于 HTTP 是无连接协议,客户端与服务器断开连接,等待响应。
服务器处理请求。它准备响应,重新建立连接,并通过 HTTP 消息发回响应。
客户端收到消息。
两台电脑断开连接。
如果我们用人类语言来解释这个过程,它会是这样的:
你:我想看看你的客户服务页面。
服务员:好的,知道了。它马上就来了。
或者,如果出现错误:
你:我想看看你的客户服务页面。
服务器:对不起,我找不到您请求的页面。
HTTP 消息
HTTP 消息的发送格式与 Internet 邮件和多用途 Internet 邮件扩展所使用的格式类似。典型的 HTTP 消息包含三个主要部分:起始行、标头和正文。一般来说,这三个部分都是纯文本,易于阅读。
HTTP 消息的信息会有所不同,具体取决于它是请求还是响应。
请求由以下元素组成:
告诉服务器要做什么的 HTTP 方法,通常是GET或POST之类的动词
从上下文中明显的元素中剥离的资源的 URL
HTTP 协议的版本
可选标题
响应由以下元素组成:
HTTP 协议的版本
状态代码,例如重定向、客户端错误或服务器错误
包含状态代码简短描述的状态消息
HTTP 标头
包含获取的资源的主体,但这是可选的
响应状态代码
HTTP 响应状态代码包含在从服务器发送到客户端的 HTTP 消息中。它们告诉 HTTP 请求是否已成功完成或是否存在某种类型的错误。
主要有五个类:
1xx:信息响应
2xx:成功响应
3xx:重定向
4xx:客户端错误
5xx:服务器错误
1xx:信息响应
1xx 状态码表示服务器已接受请求,但仍在处理它。
2xx:成功响应
2xx 状态码表示服务器接受了客户端访问资源的请求。
最常见的 2xx 状态码包括:
200 好
201 已创建
202 接受
203 非权威信息
204 无内容
205 重置内容
206部分内容
207 多状态
3xx:重定向
3xx HTTP 状态代码是重定向代码。他们将用户和搜索引擎重定向到与最初请求的 URL 不同的 URL。
最常见的 3xx 状态码是:
300多项选择
301 永久搬家
302 找到
303 查看其他
304 未修改
305 使用代理
4xx:客户端错误
4xx 状态码是客户端错误。客户端的问题是问题。
最常见的客户端错误是:
400 错误请求
403 禁止
404 未找到
410 服务发生错误
5xx:服务器错误
5xx HTTP 状态代码是服务器错误。他们表明他们在服务器端的某些东西是问题所在。
最常见的 5xx 服务器错误包括:
500内部服务器错误
501 未实施
502错误的网关
503服务不可用
504网关超时
如果您想更深入地了解状态码,我们准备了一份全面的状态码备忘单。使用它来改善您网站的未来性能,并为您的访问者创造更好的用户体验。
HTTPS和HTTP有什么区别?
如果 HTTP 代表超文本传输协议,那么 HTTPs 代表安全超文本传输协议。
一些 URL 以“HTTP”开头,而另一些则以“HTTPS”开头。“s”代表“安全加密”,这是由证书保证的。
HTTPS 使用在接收方解密的公钥。公钥包含在SSL 证书中。
SSL 证书就像一张在线身份证,上面写着:该网站受到保护,免受外部威胁。您的信息在这里是安全的。
黑客安全:由于证书保护敏感信息,黑客和身份窃贼将不得不将他们的业务转移到其他地方。
真实性和可信赖性:人们希望通过安全可靠的网站开展业务。他们不会在未经验证和加密的网站上进行购买。
谷歌搜索排名的提升:2014 年,谷歌表示在您的网站上安装证书会提高您的排名位置。
提高转化率:赛门铁克的一项研究表明,受保护的电子商务网站的转化率提高了 18-87%。
增加每笔交易的价值:如果客户不信任网站,他们会犹豫在交易上花费大量资金。Comodo 的一项案例研究发现,安装数字证书可以将每笔交易的平均价值提高 23%。
最后一句话
综上所述,我们可以从这篇文章中学到的主要内容是:
HTTP 代表超文本传输协议。它是一种标准协议,定义了消息如何在网络上格式化和发送。
从某种意义上说,HTTP 充当了网络的信使。它将消息从客户端传递到服务器,反之亦然。
HTTP 的三个重要方面是它是无连接的、无状态的,并且可以传递任何类型的数据。
HTTP 的目的是获取客户端请求的资源。
典型的 HTTP 消息包含三个主要部分:起始行、标头和正文。
有不同类型的 HTTP 响应状态代码。它们都指示特定的 HTTP 请求是否已成功完成。有五个类,包括 1xx、2xx、3xx、4xx 和 5xx 状态码。
如果 HTTP 代表超文本传输协议,那么 HTTPs 代表安全超文本传输协议。不同之处在于 HTTPS 使用加密连接传输其数据安全性。