在浏览器输入URL回车之后发生了什么?(面试题)
大致流程:
1.URL 解析 2.DNS查询 3.TCP连接 4.处理请求 5.接受相应 6.渲染页面
一. URL 解析
URL(Universal Resource Locator):统一资源定位符。俗称网页地址或者网址。 URL用来表示某个资源的地址。(通过俗称就能看出来) URL主要由以下几个部分组成: 连起来就是:http://www.aspxfans.com:8080/news/index.aspboardID=5&ID=24618&page=1#name 上面的链接有几个要注意的地方:“;” 和“/”的使用,80端口默认不显示,“?” 到“#”之间跟着参数,多个参数使用“&”连接,“#”后面跟着锚。
URL解析,当在浏览器中输入URL后,浏览器首先对拿到的URL进行识别,抽取出域名字段。
二.DNS解析
DNS解析(域名解析),DNS实际上是一个域名和IP对应的数据库。
IP地址往都难以记住,但机器间互相只认IP地址,于是人们发明了域名,让域名与IP地址之间一一对应,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。
可以在浏览器中输入IP地址浏览网站,也可以输入域名查询网站,虽然得出的内容是一样的但是调用的过程不一样,输入IP地址是直接从主机上调用内容,输入域名是通过域名解析服务器指向对应的主机的IP地址,再从主机调用网站的内容。
三.TCP连接(三次握手)
第一次握手:客户端向服务器端发送请求(SYN=1) 等待服务器确认;
第二次握手:服务器收到请求并确认,回复一个指令(SYN=1,ACK=1);
第三次握手:客户端收到服务器的回复指令并返回确认(ACK=1)。
通过三次握手,建立了客户端和服务器之间的连接,现在可以请求和传输数据了。
参考连接:
上一篇:
IDEA上Java项目控制台中文乱码