在我们输入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发生了什么的更多相关文章

  1. 从浏览器输入URL回车发生了什么

    在浏览器输入url后回车,整个过程发生了什么?整个过程如果节节细述的话,那非常的复杂.我就简单的描述一下整个过程 1.查询DNS,获取域名对应的IP地址 (1).浏览器搜索自身的DNS缓存 (2).搜 ...

  2. 浏览器输入URL之后,HTTP请求返回的完整过程

    1.输入url,按下回车时,先做一个redirect(重定向),因为浏览器可能记录本机的地址已经永久跳转成新的地址,所以一开始浏览器就先要判断下需不需要重定向,以及重定向到哪里:2.然后第二步就是看A ...

  3. 从用户浏览器输入url到用户看到页面结果的过程,发生了什么事情?

    1.域名解析 域名解析的过程:  1).查询浏览器自身DNS缓存 2).若上面没有查找到,则搜索操作系统自身的dns缓存 3).若上面没有找到,则尝试读取hosts文件 4).若上面没有找到,向本地配 ...

  4. 在浏览器输入URL后发生了什么?

    摘录部分一:https://www.cnblogs.com/kongxy/p/4615226.html 从输入URL到浏览器显示页面发生了什么 当在浏览器地址栏输入网址,如:www.baidu.com ...

  5. [网络] 在浏览器输入URL回车之后发生了什么

    目录 一  前言 二  URL解析 三  DNS域名解析 1  IP 地址 2  什么是域名解析 3  浏览器如何通过域名去查询 URL 对应的 IP 呢 4  小结 四  建立连接 1  TCP三次 ...

  6. 天龙八步"细说浏览器输入URL后发生了什么

    本文摘要: 1.DNS域名解析: 2.建立TCP连接: 3.发送HTTP请求: 4.服务器处理请求: 5.返回响应结果: 6.关闭TCP连接: 7.浏览器解析HTML: 8.浏览器布局渲染: 总结 输 ...

  7. 【转】浏览器输入URL后发生了什么

    转自:http://www.cnblogs.com/webdeve/p/7865520.html本文摘要: 输入网址 当我们在浏览器输入网址并回车后,一切从这里开始. 一.DNS域名解析 我们在浏览器 ...

  8. “天龙八步”细说浏览器输入URL后发生了什么

    本文摘要: 1.DNS域名解析: 2.建立TCP连接: 3.发送HTTP请求: 4.服务器处理请求: 5.返回响应结果: 6.关闭TCP连接: 7.浏览器解析HTML: 8.浏览器布局渲染: 总结 输 ...

  9. 浏览器中输入URL发生了什么

    浏览器中输入URL会发生什么呢?这是我们经常会问到的一个问题. 我们知道的都是会发送http请求,服务端会处理请求给我们响应的结果,浏览器会渲染html 页面 但其实会遗漏掉一些比较重要的东西.下面的 ...

随机推荐

  1. Linux下服务器开发的必要准备

    一.Windows下安装Xshell 二.Linux开启SSH 可以先查询有没有SSH服务 sudo ps -e |grep ssh 没有安装SSH的服务器 sudo apt-get install ...

  2. Base table or view not found

    项目 代码分细致 改为Logic, Model, Controller ,View  四个模块 $model=D("Index",'Logic'); $res=$model-> ...

  3. C# Setting.settings . 用法 2 使用配置文件(.settings、.config)存储应用程序配置

    引言 我不知大家早先是如何保存应用程序配置,以备下次打开时使用的,反正我开始学.Net的时候就去研究序列化,以二进制或XML格式的序列化来保存应用程序配置.这样每次都要建立单独的配置类,并书写读写配置 ...

  4. 系统分析与设计HW4

    个人作业 用例建模 a. 阅读 Asg_RH 文档,绘制用例图. b. 选择你熟悉的定旅馆在线服务系统(或移动 APP),如绘制用例图.并满足以下要求: 对比 Asg_RH 用例图,请用色彩标注出创新 ...

  5. Maven使用WEB-INF/lib下面的jar编译和打包

    在某些情况下,maven无法下载依赖的jar,或者依赖的m2会非常的大,上G那是随随便便的事.为了方便修改和编译,在打出的war包基础上,或者直接把tomcat的webapps下的项目拿出来,就可以用 ...

  6. 操作系统(1)——X86-32硬件介绍、实验环境相关配置、uCore部分技巧介绍

    实验环境 本文假设已经创建虚拟机并配置好Ubuntu 16.04(网上太多教程了,所以这里就不赘述了). X86-32硬件介绍 x86指的是80386这种机器(一种32位CPU,在早期得到了广泛的应用 ...

  7. [LeetCode] 1092. Shortest Common Supersequence

    LeetCode刷题记录 传送门 Description Given two strings str1 and str2, return the shortest string that has bo ...

  8. centos 7 里如何判断IP是否合法

    ip=123.23.2.32; [[ $ip =~ ^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9 ...

  9. 函数 FUNCTION

    函数 FUNCTION 定义: 带名字的代码块,用于执行具体任务. 注意: 应给函数指定描述性名称,只是用小写字母和下划线. 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 (). 任何 ...

  10. idea配置less自动编译

    参考: idea配置less自动编译 1. 电脑安装node.js环境: window下直接上官网下载node.msi文件下载安装即可 安装完成后在命令行执行如下命令表明安装成功 npm -v nod ...