1、为什么三次握手,而不是两次?
- 首要原因,防止旧连接初始化我们新的连接;
- 其次,三次握手可以同步双方的序列号;
- 最后,三次握手可以确认双方的接收和发送能力都正常;
2、在浏览器输入url地址后显示主页的过程?
- 根据域名,进行DNS域名解析;
- 拿到解析的IP地址,建立TCP连接;
- 向IP地址,发送HTTP请求;
- 服务器处理请求;
- 返回响应结果;
- 关闭TCP连接;
- 浏览器解析HTML;
- 浏览器布局渲染;
3、在浏览器输入URL后回车,背后的技术步骤?
(1)第一种回答
- 查看浏览器缓存,看看有没有已经缓存好的,如果没有进行下面的操作;
- 检查本机的host文件;
- 调用API,Linux下的Socket函数gethostbyname;
- 向DNS服务器发送DNS请求,查询本地的DNS服务器,这其中用的是UDP协议;
- 如果在一个子网内采用ARP地址解析协议进行ARP查询,如果不在一个子网那就需要对默认网关进行DNS查询,如果还找不到会一直向上找根DNS服务器,直到最终拿到IP地址;
- 这个时候我们就有了服务器的IP地址,以及默认的端口号了,http默认是80,https默认是443端口,会先首次尝试http然后调用socket建立TCP连接&#x