在浏览器输入url地址并按下回车,发生了什么?
1.查找当前的url是否存在缓存,并比较缓存是否过期
2. DNS解析url对应的ip
3. 根据ip建立tcp连接(三次握手)
4. htttp发起请求,服务器处理请求,浏览器接收http响应
5.渲染页面,构建dom树
6.关闭tcp连接(四次挥手)
三次握手和四次挥手
三次握手:
第一次:建立连接时,客户端发送syn包到服务器,等待服务端确认
第二次:服务器收到syn包,必须确认客户的syn,返回syn和ack包
第三次:客户端收到服务端的syn和ack包,向服务器发送确认包,发送完毕,客户端和服务端连接成功,完成三次握手
四次挥手:
第一次:浏览器发送完数据后,发送fin请求断开连接
第二次:服务器发送ack到客户端,确认客户端的断开请求
第三次:服务器请求断开fin的请求
第四次:客户端确认服务器的断开ack
TCP、UDP区别:
1. TCP向上层提供面向连接的可靠服务,UDP向上层提供无连接不可靠服务
2. 虽然 UDP 并没有 TCP 传输来的准确,但是也你能在很多实时性要求高的地方有所作为
3. 对数据准确性要求高,速度可以相对较慢的,可以选用TCP
HTTP HTTPS区别
1. HTTP说不安全的、HTTPS说安全的。 HTTP无法加密,而HTTPS对传输的数据进行加密
标准端口说80,而HTTPS的标准端口是443
3. 在网络模型中,HTTP工作在应用层,而HTTPS的安全传输机制在传输层
无需证书,而HTTPS需要CA机构颁发的SSL证书
http1.0 http1.1 http2.0 区别
1. 和http1.0相比,http1.1可以一次传输多个文件
2. 解析基于文本
3. http2.0采用二进制格式,新增特性 多路复用、header压缩、服务端推送(静态html资源)