0
点赞
收藏
分享

微信扫一扫

中东 Shopify 如何使用 Bytebase 构建一站式数据库开发工作流

承蒙不弃 2023-09-02 阅读 51

URL

URL代表"Uniform Resource Locator"(统一资源定位符),是一个用于在互联网上定位资源的地址。URL是用来标识互联网上各种资源(如网页、图像、视频、文本文件等)的一种标准格式。它不仅指示了资源的位置,还可以包括一些描述如何获取该资源的信息。

一个标准的URL通常由以下几个部分组成:

  1. 协议(Protocol):URL的开头部分通常指定了用于访问资源的协议,如HTTP、HTTPS、FTP等。

  2. 主机名(Host):主机名指示了资源所在的服务器的域名或IP地址。例如,www.example.com或192.168.1.1。

  3. 端口号(Port):端口号是一个可选的部分,用于指定访问服务器上特定服务的端口。如果未指定,默认使用协议的默认端口,如80(HTTP)或443(HTTPS)。

  4. 路径(Path):路径表示服务器上资源的具体位置。它以斜杠(/)开头,后面可能跟着文件路径或目录结构。

  5. 查询参数(Query):查询参数是一些附加信息,以问号(?)开头,用于传递给服务器的参数。参数以键值对的形式存在,例如?key=value。

  6. 片段标识(Fragment):片段标识用于指示资源中的特定部分。它以井号(#)开头,通常在网页中用于定位页面中的锚点。

URL的一个示例:https://www.example.com:8080/path/page.html?key=value#section

浏览器处理 URL 的过程

当你在浏览器中输入一个URL(Uniform Resource Locator),例如 “https://www.example.com”,浏览器会执行一系列步骤来获取和显示网页内容。以下是详细的过程:

  1. URL解析
    浏览器首先会解析输入的URL。它会分解URL,识别出协议(例如HTTP、HTTPS)、主机名(例如www.example.com)、端口号(如果没有指定,默认是协议的默认端口)、路径(例如/、/page等)以及查询参数(例如?key=value)。

  2. DNS解析
    浏览器需要将主机名转换为IP地址,以便能够发送请求到正确的服务器。这个过程叫做DNS解析。浏览器会依次查询浏览器自身 DNS ,操作系统 DNS ,本地 hosts 文件和向域名服务器发送请求。以获取目标主机的IP地址。
    其中,向域名服务器发送请求,向本地 DNS 服务器发送请求,依次为向根域名服务器、顶级域名服务器和权威域名服务器发送请求。举个例子:.为根域名,com.为顶级域名,baidu.com.为权威域名。

  3. 建立TCP连接
    浏览器使用HTTP或HTTPS协议与服务器通信。对于HTTPS,还需要建立安全的SSL/TLS连接。浏览器会与服务器的IP地址建立TCP连接,这个过程包括三次握手(见前面的解释)。

  4. 发起HTTP请求
    浏览器向服务器发送HTTP请求,包括请求方法(GET、POST等)、路径、协议版本、请求头(User-Agent、Accept等)以及可能的请求体(POST请求中的数据)。

    浏览器在请求服务器获取资源时,会检查本地缓存以查看是否已经有副本存储在本地。
    如果有,浏览器可能会发送一个条件请求(如条件GET请求),询问服务器资源是否已经被修改。
    如果资源未被修改,服务器可以返回一个特定的状态码(例如304 Not Modified),浏览器可以直接从缓存中加载资源,而不必下载新副本。

  5. 服务器处理请求
    服务器接收到浏览器发送的请求后,会根据请求的内容进行处理。这可能涉及到从服务器的文件系统获取文件、与数据库交互获取数据等。

  6. 服务器返回HTTP响应
    服务器生成HTTP响应,包括状态码(例如200 OK、404 Not Found)、响应头(Content-Type、Content-Length等)以及响应体(网页的HTML内容等)。

  7. 浏览器接收响应
    浏览器接收到服务器的HTTP响应后,会对响应进行解析。如果响应中包含HTML内容,浏览器会解析HTML并开始构建DOM树,同时下载其中的CSS、JavaScript等资源。

  8. 渲染页面
    浏览器使用解析后的信息构建DOM树、CSS样式转化为浏览器可以理解的 styleSheets,计算出 DOM 节点的样式,然后将页面呈现在屏幕上。JavaScript代码会被V8引擎解析。全部编译为机器码之后会交给 CPU 处理。

  9. 关闭连接
    当浏览器完成渲染并处理完所有资源时,它会关闭与服务器的连接,释放相关资源,但可能会保持与服务器的长连接以获取进一步的资源(例如Ajax请求)。

这些步骤概括了浏览器输入URL后发生的主要过程。这个过程涉及多个网络协议和技术,使我们能够浏览网页并与远程服务器进行通信。

举报

相关推荐

0 条评论