HTTP 协议基本构成
上一期我们讲解了 HTTP 协议和 WS 协议,接下来简单介绍 HTTP 协议的三大基本构成:
url
uri
header
一、url
url 由 host 和 port 组成
host:主机地址,可为域名、IP 地址
port:端口号
端口默认规则:
http 协议默认端口:80
https 协议默认端口:443
使用默认端口时,网址内端口会自动隐藏。
二、uri
uri 由路由和参数组成
路由:资源访问路径
参数:键值对格式,用于传递数据
url+uri 共同组成日常访问的网址。
示例拆分
地址:https://www.baidu.com/s?wd=你好
https://:协议前缀www.baidu.com:hosthttps 默认端口 443 被隐藏,完整地址:
https://www.baidu.com:443/s?wd=你好URI:
/s?wd=你好路由:
/s参数:键 wd,值你好
可复制这条链接在浏览器打开验证。
三、header
疑问:网址只有 url、uri,header 在哪里?
header 不会体现在网址中,存储在浏览器内,浏览器发起请求时自动生成并携带。
多用于身份鉴权、传输配置、携带设备信息、Cookie 等附加信息。
完整访问流程
host 负责定位目标服务器
以
www.baidu.com举例,host 使用域名,经过 DNS、CDN 解析转换为服务器真实 IP,最终找到百度服务运行的物理主机,因此 host 也叫主机名。port 定位服务器内部程序
一台服务器会同时运行多款服务程序,依靠端口区分,端口精准指定本次要访问的服务。
服务器根据 URI + Header 返回对应数据
成功连上程序后,服务端结合路由参数、请求头部判断需要下发的内容,返回内容类型分为多种:网页规范代码(W3C)、静态文件资源、JSON 接口数据等。
若返回符合 W3C 规范的代码,浏览器会按照网页标准解析执行代码,最终渲染出可视化页面。简单理解:服务器下发代码,浏览器负责运行展示。
以上就是客户端网络请求完整基础流程。
从零开始的逆向生活(二)
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
评论交流
欢迎留下你的想法