发表文章

[最新] 网络 - 当在浏览器中输入域名并点击回车后,会发生什么

thebeatles1994 1月前 0

版权声明:本BLOG上原创文章未经本人许可,不得用于商业用途及传统媒体。网络媒体转载请注明出处,否则属于侵权行为。 http://blog.csdn.net/TheBeatles1994/article/details/81346774

基础概念

在回答这个问题之前,先回顾一个知识。

浏览器是如何解析http://mail.163.com/index.html这个链接的?

  1. http://:这个是协议,也就是HTTP超文本传输协议,也就是网页在网上传输的协议。
  2. mail:这个是服务器名,代表着是一个邮箱服务器,所以是mail.
  3. 163.com:这个是域名,是用来定位网站的独一无二的名字。
  4. mail.163.com:这个是网站名,由服务器名+域名组成。
  5. /:这个是根目录,也就是说,通过网站名找到服务器,然后在服务器存放网页的根目录
  6. index.html:这个是根目录下的默认网页(大部分的默认网页都是index.html,也有例外哈,具体情况具体分析)
  7. http://mail.163.com/index.html:这个叫做URL,统一资源定位符,全球性地址,用于定位网上的资源。

当在浏览器中输入域名并点击回车后,会发生什么

  • 第一步:在浏览器中输入URL
  • 第二步:若请求的对象就在浏览器的缓存中,则直接跳向第八步
  • 第三步:DNS(Domain Name System)查找域名的IP地址
    • 当我们连接google.com时,我们实际想要的是它的ip地址。我们可以输入 “http://74.125.236.65” ,这样也可以跳转到谷歌界面。但这并不意味着这两者是同一个东西。谷歌服务器分布在全球各个地点,因为它每秒要相应无数的请求,所以我们应该让DNS服务器来帮我们选择最好的服务器地址,而使用域名“google.com”时就会达到我们的要求。DNS服务器会解析此域名并给我们一个最适合的IP地址
    • 如下是DNS工作流程:
      • 浏览器缓存:浏览器会缓存DNS记录一段时间。
      • 系统缓存:如果在浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用,这样便可获得系统缓存中的记录。
      • 路由器缓存:路由器中也有自己的DNS缓存
      • ISP(Internet Service Provider,互联网服务提供商)的DNS服务器缓存:在这一般都能找到相应的缓存记录。
  • 第四步:客户端浏览器向服务器发送TCP连接请求
  • 第五步:客户端浏览器向服务器发送HTTP请求
  • 第六步:服务器处理客户端请求
    • web服务器端(如Apache, IIS等)将请求交给各自的处理器(handler),这个处理器是一段处理web服务的处理程序(PHP, ASP.NET, Ruby, Servlets 等)
  • 第七步:浏览器接收到服务器回复
  • 第八步:浏览器显示html内容
    • 在浏览器没有完整接受全部HTML文档时,它就已经开始显示这个页面了(一行一行显示内容)。若发现有图片标签(img src=”/assets/img/logo.png” /),浏览器会再次发送GET请求来获取图片(图片、javascript、css会保存在浏览器缓存,故下一次他们不需要再次GET了)
  • 第九步:客户端与服务器互动
    • 一旦一个页面已经加载好,用户有很多种方式可以和服务器互动。比如填写用户名。注意填写完毕后点击登录时,客户端会发送POST请求,这个请求是要让服务器端来处理(登录就是处理用户名和密码的合法性)
    • 一旦服务器认证成功,他将发送正确的html内容给客户端,这时客户端会看到新的内容(比如看到自己用户名了)
相关推荐
最新评论 (0)
返回
发表文章
thebeatles1994
文章数
17
评论数
0
注册排名
1136746