十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
键入网址,按回车,发生了什么???
10年积累的成都网站制作、网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有永和免费网站建设让你可以放心的选择与我们合作。
第一步:浏览器从地址栏的输入中获得服务器的 IP 地址和端口号
如果键入的是域名,首先要进行域名解析,把域名解析为服务器的IP地址。
解析的过程如下,在解析过程中会有多级缓存:
浏览器先看自己的缓存有没有--->如果没有,再检查操作系统的缓存--->如果还没有,本地的Host文件--->野生DNS服务器(包括本地 DNS)、根 DNS、顶级 DNS、权威 DNS
注意:
DNS解析有可能会给到的是cdn服务器的IP地址,然后CDN直接返回静态资源,而不必请求源站。
第二步:浏览器用TCP的三次握手与服务器建立连接
第三步:浏览器向服务器发送拼好的报文
第四步:服务器收到报文后处理请求,同样拼好报文再发给浏览器
第五步:浏览器解析报文,渲染输出页面
第六步:由于HTTP的长连接特性,默认不会立即关闭连接,所以暂时不会有四次挥手
此图来源于网络
CDN缓存的是静态资源,对于动态的资源,只能从目标网站获取。
请求达到负载均衡服务器(比如Nginx),
负载均衡设备会先访问系统里的缓存服务器,
通常有 memory 级缓存 redis 和 disk 级缓存 Varnish,
它们的作用与 CDN 类似,不过是工作在内部网络里,
把最频繁访问的数据缓存几秒钟或几分钟,减轻后端应用服务器的压力。
如果缓存服务器里也没有,那么负载均衡设备就要把请求转发给应用服务器了。
比如Java 的 Tomcat,Python 的 Django,然后会再访问后面的数据库服务,
再把执行的结果返回给负载均衡设备,同时也可能给缓存服务器里也放一份。
下图来源与网络