一个web页面的访问的过程

用户打开浏览器输入目标地址(比如http://www.sina.com)

  1. 浏览器首先会查询本机的系统,获取主机名对应的IP地址。
  2. 若本机查询不到相应的IP地址,则会发起DNS请求,获取主机名对应的IP地址。
  3. 使用查询到的IP地址,直接访问目标服务器。

访问目标地址的两种方式:

第一,使用目标IP地址访问。比如你可以直接在浏览器中输入新浪的IP地址:218.30.13.36而直接访问它的主机。

第二,由于IP地址都是一堆数字不方便人记忆,于是有了域名这种字符型标识。DNS服务器则完成域名解析的工作,它将你访问的目标域名转换成相应的IP地址。(DNS的过程是这样的:首先我们知道我们本地的机器上在配置网络时都会填写DNS,这样本机就会把这个url发给这个配置的DNS服务器,如果能够找到相应的url则返回其ip,否则该DNS将继续将该解析请求发送给上级DNS,整个DNS可以看做是一个树状结构,该请求将一直发送到根直到得到结果。)

因此若你的电脑上不了网未必就一定是目标主机的问题了哦!还有可能是DNS服务器的故障。所以这种情况下,你能熟知几个常用的IP地址,那么在命令行使用ping一下就能知道问题是否是出现在DNS服务器上了。比较常用的IP有:百度180.76.76.76 谷歌8.8.8.8或8.8.4.4阿里云223.5.5.5或223.6.6。

为什么我们不能自己建立一个www.sina.com或者www.google.com这样的网站而让全世界的人都访问我这个网站呢(显然sina和google肯定不会让你这么干)?由以上几步可以看出,因为域名系统的存在,使得我们可以访问目标域名(www.sina.com)的时候,DNS服务器总是解析对应的IP地址(218.30.13.36)。所以若要别人都访问你的“新浪”,则需要将DNS的服务器路径指向你本机所在的IP地址,这显然得新浪愿意才行。

那么,假如我为了学习一定要这样做呢?恩!确实也可以,可是此“新浪”非彼“新浪”。

由步骤1可知道,浏览器在发送DNS请求的之前,需要访问本机的系统查看一下是否存在对应的主机IP。那么我们是否可以修改这个配置文件呢?答案是肯定的。

windows下打开文件:c:windows\system32\drivers\etc\hosts

linux下打开文件:/etc/hosts

加入你需要修改的IP地址,使目标的IP指向你本机的IP,则它就能实现访问你本机上的资源了。

如加入:127.0.1.1 (假如这是我本机的IP) www.sina.com

这样你和你的朋友都可以访问你主机上这个sina了,显然由以上的讨论可知,你朋友只能通过你的IP地址访问该sina。

  1. 浏览器发送HTTP请求。
    HTTP请求由三部分组成,分别是:请求行、消息报头、请求正文

  2. 从请求信息中获得客户机想访问的主机名。

  3. 从请求信息中获取客户机想要访问的web应用。(web应用程序指提供浏览器访问的程序,简称web应用)

  4. 从请求信息中获取客户机要访问的web资源。(web资源,即各种文件,图片,视频,文本等)

  5. 读取相应的主机下的web应用,web资源。

  6. 用读取到的web资源数据,创建一个HTTP响应。

  7. 服务器回送HTTP响应。

HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正文

  1. 客户浏览器解析回送的资源,并显示结果。

参考:
http://www.cnblogs.com/understander/p/5572132.html
http://blog.csdn.net/saiwaifeike/article/details/8789624(完整)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值