星级打分
平均分:0 参与人数:0 我的评分:未评
每天打开浏览器,输入一个网址并按下回车,通常只需要等待几秒钟,网页就会显示在屏幕上。
. m5 L& a7 l, R4 |3 F这个操作表面上看起来比较简单,但是在背后,实际上会经历一套相对完整的网络通信过程。 ) m+ w) P- I6 R% U1 m
电脑并不是直接就能够“找到网站”,而是需要依次完成域名解析、目标判断、下一跳查找、连接建立、请求发送、服务器处理以及页面渲染等相关步骤。 " ^( G, F4 B- e4 a
4 P2 o1 L+ H$ A& T2 T7 \) @; G+ U! j1 e
第一步:通过 DNS 查询服务器地址当输入 www.example.com 以后,浏览器首先需要知道,这个域名具体对应哪一个服务器 IP 地址。 6 w- a: [; z; h. ~" T
DNS 可以理解成为互联网中的地址查询系统,主要负责把人们容易记住的域名,转换成为网络设备能够识别和使用的 IP 地址。
5 ?5 \4 T0 o1 s: G* ~2 }
" }5 p: N' l2 p {- O" f
! G9 M/ v. `- p# K" A/ E* f
第二步:判断目标是否位于本地网段电脑获取服务器 IP 以后,会结合自身 IP 地址和子网掩码,判断目标是否和自己处于同一个网段。如果目标位于本地网段,通常可以直接开展通信;如果目标位于其他网络,就需要把数据交给默认网关,再由路由设备继续完成转发。 7 x4 C( T/ X- a7 I) X# C- z
' L/ [' S8 v) l第三步:获取下一跳的 MAC 地址在 IPv4 局域网环境当中,设备发送数据帧时,还需要知道下一跳设备所对应的 MAC 地址。如果目标不在本地网段,电脑通常会通过 ARP 查询默认网关的 MAC 地址,再把数据帧发送给网关,让数据能够离开当前网络。这里查询的是默认网关的 MAC 地址,并不是远程网站服务器的 MAC 地址。
$ }) [$ s I8 y& r
7 X% f. h) M! G第四步:建立网络连接数据到达目标服务器之前,还需要在客户端和服务器之间建立相对应的连接。传统 HTTP 通常基于 TCP,客户端需要通过三次握手建立可靠连接。如果访问的是 HTTPS 网站,在 TCP 连接建立以后,还需要继续完成 TLS 握手、证书校验以及加密参数协商,保证后续传输的数据不容易被直接查看或者篡改。部分使用 HTTP/3 的网站,则可能基于 QUIC 建立连接。
/ w2 v! x: m% [+ M9 V( q
. c- ~7 p6 g. d$ X$ e+ ` [- D第五步:浏览器发送 HTTP 请求连接完成以后,浏览器会向服务器发送 HTTP 或 HTTPS 请求。第一次请求通常会先获取 HTML 文档,其中会包含请求方法、访问路径、主机信息以及浏览器支持的内容类型等相关信息。
' m0 H0 T$ h: N) W! R
4 ?/ I: ~2 P) D z" ^# A& Z第六步:服务器处理并返回响应服务器接收到请求以后,可能会经过负载均衡、反向代理、应用程序、缓存以及数据库等多个环节的处理。处理完成以后,服务器会返回状态码、响应头和具体内容。例如,200 通常表示请求成功,404 表示资源没有找到,500 则说明服务端在处理过程中出现了异常。 4 P0 ~' d7 |' ?: ?0 q9 M+ s& s
; o: b' {. f$ r1 ^# [
+ B6 y" C8 `5 w( m1 x8 K5 a第七步:浏览器解析并显示页面浏览器拿到 HTML 以后,还会继续解析页面结构,并根据其中的引用地址,再次请求 CSS、JavaScript、图片以及字体等资源。等这些内容逐步加载和处理完成以后,浏览器才会把最终页面呈现在屏幕上。 , h% y/ u( c. X- n; v; v; i$ g
所以,一次网页访问看起来只是“输入网址并打开页面”,实际上却是 DNS、ARP、IP、路由、TCP、TLS、HTTP 以及浏览器渲染等多个环节共同配合的结果。 . |5 `. ?% U+ c: [6 V2 ~9 Q/ R
/ B6 d; w1 Q! n0 e3 N% O% B8 {8 L% K
+ R0 e# |, x e) Y对于网工和安全工程师来说,理解这一整套过程非常重要。DNS 解析失败、默认网关错误、路由异常、端口无法连接、防火墙阻断、证书异常或者服务器返回错误,都可能导致网页访问失败。真正把一次网页访问的流程理解清楚以后,遇到网络不通或者网站打不开时,才能够按照通信路径逐层排查,而不是只会反复执行 ping 或者修改配置。
6 G: Y! B$ B* T) _- W* J- Z2 Y; z( J3 v# R5 z; s; a
当然你也可以直接拨打电话13101986181,让我帮你组装电脑,装机! 1 r& }3 B6 s& H: a9 u8 L
& a3 D( U4 @2 h" X8 j) v; g0 A) g
|