标签:sock 建立连接 状态 浏览器缓存 tcp 协议 使用 显示 面试题 路由
200成功
304未修改,表示客户机缓存的版本是最新的, 客户机应该继续使用它
301永久重定向
302临时重定向
403 禁止,服务器理解客户端请求, 但拒绝处理它, 通常用于服务器上文件或目录的权限设置所致
404找不到
500服务器错误
DNS 的作用就是通过域名查询到具体的 IP。DNS 是基于 UDP 做的查询。
DNS 具体的查找过程,包括:浏览器缓存->系统缓存->路由器缓存.
com
这个一级域名的服务器google
这个二级域名www
这个域名配置一个 IP,然后还可以给别的三级域名配置一个 IP
HTTP 协议是无状态的,指的是协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。也就是说,打开一个服务器上的网页和上一次打开这个服务器上的网页之间没有任何联系。HTTP 是一个无状态的面向连接的协议,无状态不代表 HTTP 不能保持 TCP 连接,更不能代表 HTTP 使用的是 UDP 协议(无连接)
这是一个很经典的面试题,在这题中可以将本文讲得内容都串联起来。
script
标签的话,会判断是否存在 async
或者 defer
,前者会并行进行下载并执行 JS,后者会先下载文件,然后等待 HTML 解析完成后顺序执行,如果以上都没有,就会阻塞住渲染流程直到 JS 执行完毕。遇到文件下载的会去下载文件,这里如果使用 HTTP 2.0 协议的话会极大的提高多图的下载效率。DOMContentLoaded
事件
HTTPS 还是通过了 HTTP 来传输信息,但是信息通过 TLS 协议进行了加密。
在 TLS 中使用了两种加密技术,分别为:对称加密和非对称加密。
对称加密:
对称加密就是两边拥有相同的秘钥,两边都知道如何将密文加密解密。
非对称加密:
有公钥私钥之分,公钥所有人都可以知道,可以将数据用公钥加密,但是将数据解密必须使用私钥解密,私钥只有分发公钥的一方才知道。
由于通常情况下 Socket 连接就是 TCP 连接,因此 Socket 连接一旦建立,通信双方即可开始相互发送数据内容,直到双方连接断开。但在实际网络应用中,客户端到服务器之间的通信往往需要穿越多个中间节点,例如路由器、网关、防火墙等,大部分防火墙默认会关闭长时间处于非活跃状态的连接而导致 Socket 连接断连,因此需要通过轮询告诉网络,该连接处于活跃状态。
而 HTTP 连接使用的是“请求—响应”的方式,不仅在请求时需要先建立连接,而且需要客户端向服务器发出请求后,服务器端才能回复数据。
很多情况下,需要服务器端主动向客户端推送数据,保持客户端与服务器数据的实时与同步。此时若双方建立的是 Socket 连接,服务器就可以直接将数据传送给客户端;若双方建立的是 HTTP 连接,则服务器需要等到客户端发送一次请求后才能将数据传回给客户端,因此,客户端定时向服务器端发送连接请求,不仅可以保持在线,同时也是在“询问”服务器是否有新的数据,如果有就将数据传给客户端。
标签:sock 建立连接 状态 浏览器缓存 tcp 协议 使用 显示 面试题 路由
原文地址:https://www.cnblogs.com/lemonib/p/10085885.html