什么是 HTTP

发布时间:2024-10-06 20:56:04

什么是 HTTP?


HTTP 即超文本传输协议,是一种用于获取 HTML 文件等资源的协议。HTTP 提供了一种报文传递标准,用以促进 Web 客户端(如浏览器)和 Web 服务器之间的通信交换。


HTTP 与 HTTPS 不同吗?


HTTPS 是安全网络协议,在 HTTP 的末尾添加了一个“S”,表示这是一个网站的安全实例。HTTPS 提供了网站的验证,并对 Web 服务器和 Web 客户端之间交换的数据进行加密。HTTPS 使用 TLS(传输层安全)或 SSL(安全套接字层)颁发的数字证书。


什么是 URL?


URL(统一资源定位符)是互联网上特定资源(如网站、文档、图像或视频)的地址或位置。它定义了用于访问资源的协议(如 HTTP 或 HTTPS)、资源所在服务器的域名或 IP 地址,以及资源的具体路径或文件名。URL 通常在网络浏览器中用于导航网站或访问在线内容。


什么是网站域名?


网站域名又称域名,是一种不重复、人类可读的地址,代表互联网上的一个特定网站。它是 URL 的一部分,通常由两个主要部分组成:顶级域名 (TLD) 和二级域名 (SLD)。

顶级域名是指域名的最后一部分,如 .com、.org、.net、.gov、.edu 等。它表示网站的类型或目的(如商业、组织、网络、政府、教育)。

互联网通常被描述为一个由所有使用互联网协议 (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    什么是HTTPS    什么是TCP    API防护    拒绝服务 (DoS) 防护是什么意思    什么是DNS DDoS攻击