这个题之前看面经的时候看到过,但是忘了点。
今天在笔试时遇到了:我大概写的是首先会在dns服务器上查找一个映射获取服务器的ip地址(域名–>ip)。然后向服务器发送http请求报文…
但是感觉自己答得不好,今天在网上搜了下这个知识点,然后做下记录。
问题:“在浏览器中输入一个域名url后,接下来会做什么?”
答:第一步就是根据域名获取服务器的ip地址。
如何找到域名与ip地址的映射呢?
浏览器dns缓存——浏览器中有一个dns缓存器,会记录我们之前一段时间我们的访问记录中域名—>ip。那么浏览器首先会在自己的dns缓存中进行查找这个域名,如果找到了就获得服务器的ip;如果在浏览器的dns缓存中没有找到访问的域名,会在系统缓存中查找;
系统缓存——如果在浏览器dns缓存中没有找到对应的域名,接下来会在系统缓存中进行查找(gethostbyname)获取域名—->ip。如果找到了直接访问服务器ip;如果系统缓存中没有找到,会到路由器缓存中查找;
路由器dns缓存——–如果系统缓存中没有找到目的域名的映射,会将查询请求发送到路由器,每个路由器中有自己的dns缓存。然后会在路由器的dns缓存中查找,如果没有找到会到isp 的dns缓存中去查找。合法的域名最终在isp缓存中都能够找到,最终浏览器获得了域名对应的服务器的ip;
第二步浏览器向服务器的ip的端口号发起tcp三次握手建立连接;
第三步浏览器向服务器发送http请求报文;
第四步服务器根据http请求报文的参数找到请求的资源;
第五步服务器给浏览器发送http应答报文,把资源返回给客户端;
第六步通过四次挥手释放tcp连接;
百度云服务器bcc价格计算器腾讯云服务器双11秒杀活动为什么这些UI设计很糟糕?什么是好的UI设计?【滁州seo】怎样消除对在线流量的负面影响腾讯云和云服务器哪个好做网站大概多少钱?做网站需要做什么?网络教育平台特点及网络教育平台建设方案创建维护步骤杭州平台网站建设有什么作用?杭州平台网站建设的流程有哪些?