输入域名之后发生的故事

  当我们在浏览器输入域名例如www.baidu.com时,之后发生了什么?我们就能看到百度的首页面?下面将详细讲解一下该过程。


 1.域名解析

  浏览器拿到该域名之后,首先需要对该域名进行解析。域名只是辅助我们记忆使用的,计算机、路由器都不认识,它们眼里看到是IP地址,所以域名解析的过程就是将找到该域名对应的IP地址。

  浏览器先到本地C:Windows/System32/drivers/etc/hosts文件下查询,该文件保留了某些域名和ip,例如localhost对应127.0.01;如果在此文件下找到对应的IP,就向该IP所在的计算机发送信号。否则就向域名服务器DNS询问域名所对应的IP地址,如果查找到就发送信号。否则就报错,访问不了页面。这个时候,浏览器连获取资源的请求都没有发送,直接在前期被阻碍了。

 2.发送请求

  浏览器发送请求前,会先向域名所在的主机发送一个连接信号,如果对方能够联通,再向它发送http请求。先发送信号的原因是先判断对方在不在,不在就不发了。假设对方也回复了一个信号说在,这时浏览器才将请求发过去。

 3.服务器端接受请求

   域名所在的主机会根据请求的端口号将该请求送到监听该端口的服务器程序。如果没有监听该端口的服务器程序,则会报连接错误。如果有,服务器程序就要对请求进行解析了。注:这里的服务器程序是tomcat,其他服务器程序应该也是相同的道理。
  
   首先解析的是主机号。对已tomcat而言可以有多个虚拟主机,需要根据域名找到相应的主机,可以配置默认主机。如果没有找到相应的主机,则也会报错。
   当找到相应的主机之后,接下来解析的是web应用名称,因为一个主机下可以有多个web应用,应该也可以配置默认web应用。如果没有找到相应的应用,会报错。
   当找到相应的web应用之后,就要找申请的资源了。如果没有找到,也会报错。找到则返回html给浏览器。

 4.浏览器解析html

  浏览器根据规范解析html文件并显示,就可以看到我们想要的结果了。


   如果我们输入请求之后没有返回相应的结果,则可能会因为以下几个原因:
(1)没有联网
(2)域名解析错误,本地域名服务器配置错误
(3)服务器没有打开
(4)服务器端查找不到主机,没有配置该虚拟主机
(5)服务器端查找不到web应用,web应用名称不正确
(6)服务器端找不到资源,资源名称不正确
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值