熊熊出没 发表于 2024-6-21 13:43:51

【探索Linux】P.33(HTTP协议)

https://img-blog.csdnimg.cn/direct/89866e02ff0a4b21bfa55312f2329e47.png


引言

在上一篇文章中,我们深入探究了“自定义协议”的概念、原理及其应用,并通过一个现实案例——跨网络盘算器,展示了自定义协议怎样有效地促进差异网络环境下的设备间通讯和数据交换。自定义协议的灵活性和高效性为特定场景下的通讯提供了强有力的支持。
本日,我们将转换视角,聚焦于互联网世界中最为广泛使用的一种协议——HTTP协议。HTTP(超文本传输协议)是构建万维网(WWW)的基础,它定义了客户端与服务器之间怎样进行数据的传输和沟通。通过本文的介绍,我们将了解HTTP协议的根本结构、工作原理以及它在网络通讯中的重要性。让我们一起开始这段关于HTTP协议的学习之旅吧。
一、认识URL

URL 代表着是统一资源定位符(Uniform Resource Locator)。URL 无非就是一个给定的独特资源在 Web 上的地址。理论上说,每个有效的 URL 都指向一个唯一的资源。这个资源可以是一个 HTML 页面,一个 CSS 文档,一幅图像,等等。而在现实中,也有一些例外,最常见的环境就是一个 URL 指向了不存在的或是被移动过的资源。由于通过 URL 出现的资源和 URL 自己由 Web 服务器处理,因此 web 服务器的拥有者需要认真地维护资源以及与它关联的 URL。
一个 URL 由差异的部门构成,其中一些是必须的,而另一些是可选的。让我们以下面这个 URL 为例看看其中最重要的部门:
https://img-blog.csdnimg.cn/direct/fde5db46809f428a982cc093ace53a20.png

[*]http 是协议。它表明了浏览器必须使用何种协议。它通常都是 HTTP 协议或是 HTTP 协议的安全版,即 HTTPS。Web 需要它们二者之一,浏览器也知道怎样处理其他协议,比如 mailto:(打开邮件客户端)或者 ftp:(处理文件传输),以是当你看到这些协议时,不必惊奇。
[*]www.example.com 是域名。它表明正在请求哪个 Web 服务器。或者,可以直接使用IP address,但是因为它不太方便,以是它不常常在网络上使用。
[*]:80 是端口。它表示用于访问 Web 服务器上的资源的技术“门”。如果 Web 服务器使用 HTTP 协议的尺度端口(HTTP 为 80,HTTPS 为 443)来授予其资源的访问权限,则通常会被忽略。否则是逼迫性的。
[*]/path/to/myfile.html 是网络服务器上资源的路径。在 Web 的早期阶段,像如许的路径表示 Web 服务器上的物理文件位置。如今,它重要是由没有任何物理现实的 Web 服务器处理的抽象。
[*]?key1=value1&key2=value2 是提供给网络服务器的额外参数。这些参数是用 & 符号分隔的键/值对列表。在返回资源之前,Web 服务器可以使用这些参数来执行额外的操纵。每个 Web 服务器都有自己关于参数的规则,唯一可靠的方式来知道特定 Web 服务器是否处理参数是通过询问 Web 服务器所有者。
[*]#SomewhereInTheDocument 是资源自己的另一部门的锚点。锚点表示资源中的一种“书签”,给浏览器体现位于该“加书签”位置的内容的方向。比方,在 HTML 文档上,浏览器将滚动到定义锚点的位置;在视频或音频文档上,浏览器将实验转到锚代表的时间。
页: [1]
查看完整版本: 【探索Linux】P.33(HTTP协议)