URL(统一资源定位符)是互联网上特定资源(如网站、文档、图像或视频)的地址或位置。它定义了用于访问资源的协议(如 HTTP 或 HTTPS)、资源所在服务器的域名或 IP 地址,以及资源的具体路径或文件名。URL 通常在网络浏览器中用于导航网站或访问在线内容。
我们先来看看 Web 协议。
为了理解 Web 协议,我们要举一个例子。在本例中,我们将在 Chrome 或 Firefox 等网络浏览器中访问 www.apple.com。实际上,我们会多次使用这个例子,并且每一次都会在原有基础上进行更详细的讲解。
在第 1 步中,在地址栏中输入 www.apple.com 或点击链接来发起访问。
在第 2 步中,浏览器构建一个请求报文,然后将其发送到 Apple Web 服务器。稍后我们会讲解这个报文的具体形式,以及 Apple Web 服务器是如何定位的。
在第 3 步中,Apple Web 服务器收到请求后构建响应报文,并将其发回给浏览器。
最后,在第 4 步中,浏览器呈现响应,这样我们就可以在浏览器中看到 Apple 网页了。
这里的要点在于,Web 协议由请求报文和响应报文组成。我们常说“访问”网站,但实际上是浏览器向 Web 服务器发送请求,Web 服务器返回响应。
Web 协议“HTTP”是一种请求-响应协议,它定义了 Web 客户端与 Web 服务器之间的通信方式。网络浏览器就是 Web 客户端的示例之一。您的 iPhone 或 Android 设备上安装的众多移动 Web 应用程序也是如此。
一个典型的网页包含数十到数百个对象,例如:
- 样式表
- 代码库
- 嵌入式图像
- 广告
每个对象都必须通过请求和响应来获取。因此,获取一个页面需要数十到数百个请求-响应报文对。在整个演示过程中,为简单起见,我将只展示一对请求-响应报文。
本系列的下一个视频将介绍 HTTPS,即安全网络协议。
互联网通常被描述为一个由所有使用互联网协议 (IP) 的网络构成的网络。万维网 (WWW) 上有数十亿个网站,包括全球成千上万的商业网络,如 AT&T 和 Comcast。
互联网支持不计其数的应用程序。最早的产品包括电子邮件、Usenet、文件传输协议 (FTP)、远程登录和 Gopher。后来,万维网问世。
WWW 是一组通过称为超文本传输协议 (HTTP) 的 Web 协议进行通信的应用程序。其中的网络浏览器、移动 Web 应用程序和 Web 服务器通过 HTTP 进行通信。
HTTP 是一种 Web 协议,是互联网运行的基石之一。在您访问一个网站时,HTTP 用于传输该页面的内容,并将其显示在您的浏览器中。Web 协议“HTTP”是一种请求-响应协议,它定义了 Web 客户端与 Web 服务器之间的通信方式。
关于 HTTP 的一些背景知识
1989 年,因发明 HTML 而出名的 Tim Berners-Lee 在欧洲核子研究中心开展了一个项目,利用超文本在互联网上传输不同类型的内容。该项目当时的名称是“Mesh”,后来更名为著名的“万维网”。HTTP 的设计目的是与现有的 TCP/IP 协议配合使用,成为互联网报文通信的基石。HTTP 已成为客户端(如浏览器)与服务器之间进行互联网报文交换的主流协议。
HTTP 是一种应用层,被定义为无状态协议、“客户端-服务器”协议或“请求-响应”协议。在 Chrome 和 Safari 等互联网浏览器中,网址前缀为 http://。该前缀指示网络浏览器通过 HTTP 协议进行通信,例如 http://website.com/。这会发起 HTTP 连接,并通过协议推动通过计算机或其他接入互联网的设备向用户交付各种类型的 Web 内容。
HTTP 请求-响应流的步骤
HTTP 协议的“请求-响应”流就是我们故事的起点。在用户或应用程序导航到一个网站时,比如 www.apple.com,我们几乎会立即在浏览器或应用程序中看到显示预期网站内容的图像。但在幕后,往往有着数以百计的请求和回发响应在发挥作用。
网络浏览器是 Web 客户端的一个例子,但您在 iPhone 或 Android 设备上安装的移动 Web 应用程序也属于 Web 客户端。但为了说明在用户浏览网站时,这些请求和响应如何在幕后工作,我们将这个过程分为四个步骤:
第 1 步:导航和启动
用户在浏览器中输入网址,或点击电子邮件或其他通信中的链接。URL 还包含域名。浏览器通过 DNS 查找来找到网址,然后将请求发送到该网址。
第 2 步:客户端向服务器发送 HTTP 请求报文
客户端(如浏览器)构建一个请求报文,并将其发送给 Apple Web 服务器。HTTP 请求报文的第一行标识了网站的根页面,即“ get /”。
这一行指示 HTTP 的版本,例如 HTTP 1.1 或 HTTP 1.0。在这一行之后,还有一系列称为“请求标头”的内容,提供有关请求的附加信息和请求实体(如浏览器)的信息。
请求报文在发送到 Web 服务器后,即可由服务器读取并生成响应。
第 3 步:Apple Web 服务器将 HTTP 响应发回给客户端
Apple Web 服务器收到请求后,就会生成响应报文并将其返回给浏览器(客户端)。报文的第一行包括响应代码 "200 OK",表示 Web 服务器可以成功响应请求。
其他响应代码还包括
- 404 - 未找到
- 502 - 错误网关
- 503 - 服务不可用
HTTP 响应报文确切再现了请求报文的格式,并包含一系列称为“响应标头”的行,这些行提供有关响应的信息。在响应标头之后是一个空白行,然后是实际的网页本身,其形式是使用超文本标记语言 (HTML) 的文档。
HTTP 响应报文生成后,Web 服务器将报文发回给浏览器,然后浏览器接收并读取响应报文。
第 4 步:浏览器呈现报文
最后一步是浏览器呈现响应报文,并在浏览器中显示网页。
典型网页的组成部分
上述“客户端-服务器请求-响应”示例是现实情况的简化版。一个典型的网页包含数十到数百个对象,例如:
- 样式表
- 代码库
- 嵌入式图像
- 广告
每个对象都要通过请求和响应获取,就像上述的第 2-4 步一样。因此,获取网页内容时,需要处理数十到数百个请求-响应报文对。
常见问题
HTTP 即超文本传输协议,是一种用于获取 HTML 文件等资源的协议。HTTP 提供了一种报文传递标准,用以促进 Web 客户端(如浏览器)和 Web 服务器之间的通信交换。
HTTPS 是安全网络协议,在 HTTP 的末尾添加了一个“S”,表示这是一个网站的安全实例。HTTPS 提供了网站的验证,并对 Web 服务器和 Web 客户端之间交换的数据进行加密。HTTPS 使用 TLS(传输层安全)或 SSL(安全套接字层)颁发的数字证书。
网站域名又称域名,是一种不重复、人类可读的地址,代表互联网上的一个特定网站。它是 URL 的一部分,通常由两个主要部分组成:顶级域名 (TLD) 和二级域名 (SLD)。
顶级域名是指域名的最后一部分,如 .com、.org、.net、.gov、.edu 等。它表示网站的类型或目的(如商业、组织、网络、政府、教育)。
客户为什么选择 Akamai
Akamai 是一家专注于网络安全和云计算的公司,致力于支持并保护在线商业活动。我们卓越的安全解决方案、出色的威胁情报和全球运营团队可提供深度防御,保护各地的企业数据和应用程序。Akamai 的全栈云计算解决方案可在全球分布广泛的平台上提供高性能和经济实惠的服务。全球多家企业坚信,Akamai 能够提供卓越的可靠性、规模和专业知识,帮助企业满怀信心地实现业务增长。