HTTP 协议基本构成

上一期我们讲解了 HTTP 协议和 WS 协议,接下来简单介绍 HTTP 协议的三大基本构成:

  1. url

  2. uri

  3. header

一、url

url 由 host 和 port 组成

  • host:主机地址,可为域名、IP 地址

  • port:端口号

端口默认规则:

  • http 协议默认端口:80

  • https 协议默认端口:443

使用默认端口时,网址内端口会自动隐藏。

二、uri

uri 由路由和参数组成

  • 路由:资源访问路径

  • 参数:键值对格式,用于传递数据

url+uri 共同组成日常访问的网址。

示例拆分

地址:https://www.baidu.com/s?wd=你好

  1. https://:协议前缀

  2. www.baidu.com:host

  3. https 默认端口 443 被隐藏,完整地址:https://www.baidu.com:443/s?wd=你好

  4. URI:/s?wd=你好

    • 路由:/s

    • 参数:键 wd,值你好

可复制这条链接在浏览器打开验证。

三、header

疑问:网址只有 url、uri,header 在哪里?

header 不会体现在网址中,存储在浏览器内,浏览器发起请求时自动生成并携带。

多用于身份鉴权、传输配置、携带设备信息、Cookie 等附加信息。

完整访问流程

  1. host 负责定位目标服务器

    www.baidu.com 举例,host 使用域名,经过 DNS、CDN 解析转换为服务器真实 IP,最终找到百度服务运行的物理主机,因此 host 也叫主机名。

  2. port 定位服务器内部程序

    一台服务器会同时运行多款服务程序,依靠端口区分,端口精准指定本次要访问的服务。

  3. 服务器根据 URI + Header 返回对应数据

    成功连上程序后,服务端结合路由参数、请求头部判断需要下发的内容,返回内容类型分为多种:网页规范代码(W3C)、静态文件资源、JSON 接口数据等。

    若返回符合 W3C 规范的代码,浏览器会按照网页标准解析执行代码,最终渲染出可视化页面。简单理解:服务器下发代码,浏览器负责运行展示。

以上就是客户端网络请求完整基础流程。