在浏览器输入URL发生了什么
在我们输入google.com之后,浏览器上很快就会呈现出谷歌的页面,本文简单介绍一下从URL的输入到浏览器页面的展示,这中间发生了些什么。
URL是什么
URL全名叫统一资源定位符,uniform resource Locator,字面上来理解,它就是用来定位资源的。
相当于图书上面的标签,有了这些标签,管理员可以很快的找到相应的图书。
一个完整的URL包括以下信息:协议(最常见的有http协议,https协议,file协议、FTP协议等);IP地址(一串数字);路径;端口号(访问的端口等)。
URL输入到浏览器之后
当我们在浏览器的地址栏输入URL之后,浏览器就开始工作了,直到我们看到页面,这期间涉及到以下关键点:
IP地址:
IP地址是设备在互联网当中的唯一标识,计算机是不会将域名作为记录的地址(之所以将域名作为日常标记是因为语义化的原因),它真实访问的其实是一串数字(服务器IP地址)。那么计算机从google.com到对应的服务器IP,这中间的过程就是解析。
根服务器负责解析域名和对应的IP地址,浏览器访问解析完成的域名之后,就会寻找相应的缓存,进而将页面呈现在用户面前。
缓存:
1)浏览器每次访问网站,会在浏览器本地生成缓存,当用户第二次去访问时,会检测到相应缓存,直接进行访问。
2)如果浏览器没有检查到缓存,那么就会去访问系统缓存(也就是我们说的Hosts)。

3)如果本地也没有缓存,那么浏览器就会去检测路由器缓存,进而再检查ISP(运营商)缓存。
4)如果以上缓存都没有找到需求资源,浏览器则会在根域名服务器查找对应的IP地址,并进行访问。
DNS劫持
我们在浏览网页不畅时,有一种解决方法是将DNS修改114.114.114 或者8.8.8.8 。这么做的原因是,浏览器访问期间经过的程序非常多,需要一级一级得寻找缓存,其中有一级缓存出现问题,那么访问的页面就会有偏差。我们将DNS修改成114.114.114或者8.8.8.8,让浏览器直接访问dns服务器,减少中间环节。改成这样之后浏览器就不从ISP找,而是是从谷歌DNS(8.8.8.8)或者114 DNS(114.114.114)里面找。
服务器
服务器只是一台计算机,计算机本身是不能处理浏览器的请求,必须要有相应的软件。这种软件叫做Web server,常见的web server有Apache、Nginx,IIS、node.js等。将本地计算机作为web服务器来用,也需要安装web server。
MVC
MVC(model view controller),是将业务逻辑、界面和数据显示分离的方法框架。控制器从模型中获取数据,将数据套入html模板反馈给浏览器,浏览器再显示出来。

在浏览器输入URL发生了什么的更多相关文章
- 从浏览器输入URL回车发生了什么
在浏览器输入url后回车,整个过程发生了什么?整个过程如果节节细述的话,那非常的复杂.我就简单的描述一下整个过程 1.查询DNS,获取域名对应的IP地址 (1).浏览器搜索自身的DNS缓存 (2).搜 ...
- 浏览器输入URL之后,HTTP请求返回的完整过程
1.输入url,按下回车时,先做一个redirect(重定向),因为浏览器可能记录本机的地址已经永久跳转成新的地址,所以一开始浏览器就先要判断下需不需要重定向,以及重定向到哪里:2.然后第二步就是看A ...
- 从用户浏览器输入url到用户看到页面结果的过程,发生了什么事情?
1.域名解析 域名解析的过程: 1).查询浏览器自身DNS缓存 2).若上面没有查找到,则搜索操作系统自身的dns缓存 3).若上面没有找到,则尝试读取hosts文件 4).若上面没有找到,向本地配 ...
- 在浏览器输入URL后发生了什么?
摘录部分一:https://www.cnblogs.com/kongxy/p/4615226.html 从输入URL到浏览器显示页面发生了什么 当在浏览器地址栏输入网址,如:www.baidu.com ...
- [网络] 在浏览器输入URL回车之后发生了什么
目录 一 前言 二 URL解析 三 DNS域名解析 1 IP 地址 2 什么是域名解析 3 浏览器如何通过域名去查询 URL 对应的 IP 呢 4 小结 四 建立连接 1 TCP三次 ...
- 天龙八步"细说浏览器输入URL后发生了什么
本文摘要: 1.DNS域名解析: 2.建立TCP连接: 3.发送HTTP请求: 4.服务器处理请求: 5.返回响应结果: 6.关闭TCP连接: 7.浏览器解析HTML: 8.浏览器布局渲染: 总结 输 ...
- 【转】浏览器输入URL后发生了什么
转自:http://www.cnblogs.com/webdeve/p/7865520.html本文摘要: 输入网址 当我们在浏览器输入网址并回车后,一切从这里开始. 一.DNS域名解析 我们在浏览器 ...
- “天龙八步”细说浏览器输入URL后发生了什么
本文摘要: 1.DNS域名解析: 2.建立TCP连接: 3.发送HTTP请求: 4.服务器处理请求: 5.返回响应结果: 6.关闭TCP连接: 7.浏览器解析HTML: 8.浏览器布局渲染: 总结 输 ...
- 浏览器中输入URL发生了什么
浏览器中输入URL会发生什么呢?这是我们经常会问到的一个问题. 我们知道的都是会发送http请求,服务端会处理请求给我们响应的结果,浏览器会渲染html 页面 但其实会遗漏掉一些比较重要的东西.下面的 ...
随机推荐
- 第三周课程总结&实验报告(一)
实验报告(一) 1.打印输出所有的"水仙花数",所谓"水仙花数"是指一个3位数,其中各位数字立方和等于该数本身.例如,153是一个"水仙花数" ...
- 【Spark机器学习速成宝典】基础篇03数据读取与保存(Python版)
目录 保存为文本文件:saveAsTextFile 保存为json:saveAsTextFile 保存为SequenceFile:saveAsSequenceFile 读取hive 保存为文本文件:s ...
- legend3---lavarel中使用qq邮箱发送邮件
legend3---lavarel中使用qq邮箱发送邮件 一.总结 一句话总结: 第一步:配置邮箱做服务器,比如qq邮箱,网易163邮箱 第二步:配置lavarel的配置文件 第三部:写邮件发送代码就 ...
- How to Create a Basic Plugin 如何写一个基础的jQuery插件
How to Create a Basic Plugin Sometimes you want to make a piece of functionality available throughou ...
- Python深度学习读书笔记-1.什么是深度学习
人工智能 什么是人工智能.机器学习与深度学习(见图1-1)?这三者之间有什么关系?
- value是列表的字典排序
# -*- coding: utf-8 -*- def dict_test(): #构造Map并对其排序 attr_tul = list(['a','b','c']) one_tul = ,],[,] ...
- Selenium IDE环境部署
摘自https://blog.csdn.net/ywyxb/article/details/59103683 Selenium IDE环境部署 - Firefox浏览器 Firefox-ESR版本下载 ...
- 中国MOOC_零基础学Java语言_第4周 循环控制_2念整数
2 念整数(5分) 题目内容: 你的程序要读入一个整数,范围是[-100000,100000].然后,用汉语拼音将这个整数的每一位输出出来. 如输入1234,则输出: yi er san si 注意, ...
- 虚拟机中Ubuntu安装及基本功能设置
虚拟机下安装ubuntu 虚拟机使用VMware14 PRO,在TOSHIBA EXT/Anon Comm Group\Experimental Environment\VMware下. 系统使用ub ...
- TCP/IP笔记——UDP
OSI模型中最下面的两层用来解决两个硬件设备在物理上的通信问题(如规定怎么将电平信号转换为数字信号),相对应的TCP/IP模型中,这部分代表将会将机器封装为一个MAC地址来实现通讯.网络层是关于,具体 ...