Open jyzwf opened 6 years ago
当我们在浏览器输入URL按回车或者点击一个链接的时候发生了啥?
以访问 http://jyzwf.github.io/page/index.html 为例:
http://jyzwf.github.io/page/index.html
1) 浏览器分析链接指向页面的URL(http://jyzwf.github.io/page/index.html) 2) 浏览器向 DNS 请求解析 jyzwf.github.io/的 IP地址 3) 域名系统DNS 解析出上面网址服务器的 IP地址 4) 浏览器与该服务器建立 TCP 连接(默认端口号 80,三次握手 ) 5) 浏览器发出 HTTP 请求: GET /page/index.html 6) 服务器通过 HTTP 响应把文件 index.html发送给浏览器 7) TCP 连接释放(四次挥手) 8) 浏览器将文件 index.html 进行解析,并将 Web页显示给用户
DNS
TCP 连接
三次握手
四次挥手
关于为什么是三次握手而不是两次或者其他,可以参考知乎上的回答: TCP 为什么是三次握手,为什么不是两次或四次?
下面摘取一个不错的回答
三次握手: “喂,你听得到吗?” “我听得到呀,你听得到我吗?” “我能听到你,今天balabala……” 两次握手: “喂,你听得到吗?” “我听得到呀” “喂喂,你听得到吗?” “草,我听得到呀!!!!” “你TM能不能听到我讲话啊!!喂!” “……” 四次握手: “喂,你听得到吗?” “我听得到呀,你听得到我吗?” “我能听到你,你能听到我吗?” “……不想跟傻逼说话”
三次握手: “喂,你听得到吗?” “我听得到呀,你听得到我吗?” “我能听到你,今天balabala……”
两次握手: “喂,你听得到吗?” “我听得到呀” “喂喂,你听得到吗?” “草,我听得到呀!!!!” “你TM能不能听到我讲话啊!!喂!” “……”
四次握手: “喂,你听得到吗?” “我听得到呀,你听得到我吗?” “我能听到你,你能听到我吗?” “……不想跟傻逼说话”
当我们在浏览器输入URL按回车或者点击一个链接的时候发生了啥?
以访问
http://jyzwf.github.io/page/index.html
为例:1) 浏览器分析链接指向页面的URL(http://jyzwf.github.io/page/index.html) 2) 浏览器向
DNS
请求解析 jyzwf.github.io/的 IP地址 3) 域名系统DNS 解析出上面网址服务器的 IP地址 4) 浏览器与该服务器建立TCP 连接
(默认端口号 80,三次握手
) 5) 浏览器发出 HTTP 请求: GET /page/index.html 6) 服务器通过 HTTP 响应把文件 index.html发送给浏览器 7) TCP 连接释放(四次挥手
) 8) 浏览器将文件 index.html 进行解析,并将 Web页显示给用户关于为什么是三次握手而不是两次或者其他,可以参考知乎上的回答: TCP 为什么是三次握手,为什么不是两次或四次?
下面摘取一个不错的回答
三次握手
四次挥手
为啥不是两次握手