Skip to content
📌知识点小结
  • 输入网址按回车后:DNS 解析域名→与服务器建立连接(HTTPS 先加密握手)→发送 HTTP 请求。
  • 服务器处理请求、返回 HTTP 响应(HTML 等),浏览器再解析并继续请求其中的图片/CSS/JS。
  • 一次网页加载通常包含几十上百次请求,不只是一个 HTML。
  • 状态码表示结果(200 成功、301/302 跳转、404 不存在、403 无权限、500 服务器错误)。
  • 理解这条完整链路,才能定位“卡在哪一步”、看懂抓包和日志。
自测一下

0.19 一次网页请求的完整旅程

第〇篇「零基础预科」免费。这一篇把前几篇串起来,看清"按下回车到页面出现"之间到底发生了什么。

一、完整链路总览

二、逐步说明

  1. DNS 解析:把 gysec.top 变成 IP(0.17);
  2. 建立连接:浏览器和服务器在 443 端口建立 TCP 连接(0.16);
  3. TLS 握手:HTTPS 下双方验证证书、协商加密密钥,之后通信加密;
  4. 发送请求:浏览器发出 HTTP 请求,包含请求方法、路径、请求头(Cookie、UA 等);
  5. 服务器处理并响应:Web 服务器/后端处理,返回状态码和内容;
  6. 加载子资源:解析 HTML 时发现 CSS、JS、图片、字体、接口,再分别请求;
  7. 渲染:浏览器把 DOM、样式、脚本组合,最终画出页面。

三、HTTP 状态码速查

含义常见场景
200OK 成功正常返回页面
301/302重定向HTTP 跳 HTTPS、旧地址跳新地址
400请求错误参数格式不对
401未认证需要登录
403禁止已登录但无权 / 被拦截
404未找到地址错误/页面不存在
500服务器错误后端异常
502/503/504网关/服务问题上游挂了/超时

你之前遇到的"手动输 /login 正常、点击却 404",就是前端路由和服务端路由的差异;而"登录后回原页"则是 302 重定向 + 隐藏跳转参数的配合。

四、请求和响应长什么样

请求(简化):

http
GET /wiki/deser-lazymap HTTP/1.1
Host: gysec.top
Cookie: gysec_auth=xxxx
User-Agent: Mozilla/5.0 ...

响应(简化):

http
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8

<!DOCTYPE html> ...

请求方法常见:GET(取数据/页面)、POST(提交数据,如登录表单)、PUT/DELETE 等。

五、怎么观察这条链路

  • 浏览器按 F12 打开开发者工具 → Network(网络) 面板,刷新页面,能看到每一个请求、状态码、请求头、响应;
  • 命令行可用 curl -I https://gysec.top 只看响应头和状态码;
  • 抓包工具(Wireshark/Burp)能看到更底层或可修改的请求。

六、本篇小结

  • 旅程:DNS→TCP→TLS→HTTP 请求→响应→加载子资源→渲染
  • 状态码:200 成功、301/302 跳转、401 未登录、403 禁止、404 没有、500 出错。
  • 一个页面背后是很多次请求;用 F12 Network 观察。
  • 能把问题定位到"哪一步",是排查和安全测试的关键能力。

下一篇 0.20 讲请求两端的角色:客户端与服务器。