20170809-从URL输入到页面展现】的更多相关文章

前言 打开浏览器从输入网址到网页呈现在大家面前,背后到底发生了什么?经历怎么样的一个过程?先给大家来张总体流程图,具体步骤请看下文分解!   从URL输入到页面展现 总体来说分为以下几个过程: DNS 解析:将域名解析成 IP 地址 TCP 连接:TCP 三次握手 发送 HTTP 请求 服务器处理请求并返回 HTTP 报文 浏览器解析渲染页面 断开连接:TCP 四次挥手 一.URL 到底是啥 URL(Uniform Resource Locator),统一资源定位符,用于定位互联网上资源,俗称网…
目录 前言 一.URL 到底是啥 二.域名解析(DNS) 1.IP 地址 2.什么是域名解析 3. 浏览器如何通过域名去查询 URL 对应的 IP 呢 4. 小结 三.TCP 三次握手 1.TCP 三次握手的过程如下: 2.为啥需要三次握手 四.发送 HTTP 请求 1.请求行包含请求方法.URL.协议版本 2.请求头包含请求的附加信息,由关键字/值对组成,每行一对,关键字和值用英文冒号":"分隔. 3.请求体,可以承载多个请求参数的数据,包含回车符.换行符和请求数据,并不是所有请求都…
从在地址栏中输入了URL,到浏览器展现出页面整个过程中,大概经历了如下过程: 在浏览器地址中输入了URL并回车 域名解析 服务器处理请求 浏览器处理 网页的绘制 一.在浏览器地址中输入URL 首先解释一下URL的定义: URL(Uniform Resource Locator),统一资源定位符,用于定位互联网上的资源. URL的格式一般为:协议类型://<主机名>:<端口>/<路径>/<文件名> 协议类型有http.https.ftp.file等等.其中ht…
前言 打开浏览器从输入网址到网页呈现在大家面前,背后到底发生了什么?经历怎么样的一个过程?先给大家来张总体流程图,具体步骤请看下文分解! 本文首发地址为GitHub 博客,写文章不易,请多多支持与关注! 总体来说分为以下几个过程: DNS 解析:将域名解析成 IP 地址 TCP 连接:TCP 三次握手 发送 HTTP 请求 服务器处理请求并返回 HTTP 报文 浏览器解析渲染页面 断开连接:TCP 四次挥手 一.URL 到底是啥 URL(Uniform Resource Locator),统一资…
DNS 解析:将域名解析成 IP 地址 TCP 连接:TCP 三次握手 发送 HTTP 请求 服务器处理请求并返回 HTTP 报文 浏览器解析渲染页面 断开连接:TCP 四次挥手 一.什么是URL? URL(Uniform Resource Locator),统一资源定位符,用于定位互联网上资源,俗称网址. scheme: // host.domain:port / path / filename ? abc = 123 # 456789 scheme - 定义因特网服务的类型.常见的协议有 h…
从URL输入到页面展现 1.输入URL URL:统一资源定位符,是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示. URL包含以下几部分:协议.服务器名称(或IP地址).路径.参数和查询. 举例说明: 常用协议: 协议 中文名称 默认端口号 http 超文本传输协议 80 https 用安全套接字层传送的超文本传输协议 443 ftp 文件传输协议 21 TELNET 远程终端协议 23 如果地址不包含端口号,根据协议的默认端口号确定一个. 2.根据URL,在本地DNS缓存中查找域名…
本文链接:https://blog.csdn.net/MiemieWan/article/details/85708052地址栏输入url, 要通过dns解析(浏览器是不能识别url地址的,需解析成ip地址),返回相对应的IP地址,建立tcp连接,(tcp三次握手)发送Http请求,服务器进行处理并返回Http报文,浏览器渲染页面,断开连接(tcp四次挥手) 一.URLURL(Uniform Resource Locator),统一资源定位符,用于定位互联网上资源,俗称网址. 语法:scheme…
总的来说分为以下过程: DNS解析 TCP三次握手 发送HTTP请求 服务器端处理请求并返回HTTP保文 浏览器渲染页面 断开连接:TCP的四次挥手 URL到底是什么? URL(Uniform Resource Locator),统一资源定位符,用户定位互联网上资源,俗称网站. 语法规则:scheme://host.domain.port/path/filename schme:定义因特尔互联网服务的类型.常见协议有 http,https,ftp,file. host:定义域主机(http 默认…
https://cloud.tencent.com/developer/article/1396399 https://www.cnblogs.com/haonanZhang/p/6362233.html https://cloud.tencent.com/developer/article/1343200 https://cloud.tencent.com/developer/article/1166319 从 URL 输入到页面展现到底发生什么?   前言 一.URL 到底是啥 二.域名解析…
从输入URL按下回车到页面展现,总的来说发生了一下几个过程: DNS 解析:将域名解析成 IP 地址 TCP 连接:TCP 三次握手 发送 HTTP 请求 服务器处理请求并返回 HTTP 报文 浏览器解析渲染页面 断开连接:TCP 四次挥手 接下来将一步一步的解释所发生的过程. 一.URL 到底是啥 URL(Uniform Resource Locator),统一资源定位符,用于定位互联网上资源,俗称网址.比如 http://www.w3school.com.cn/ht...,遵守以下的语法规则…
应该有很多前端开发人员都思考过这么一个问题:从输入 URL 到页面加载完成,中间都做发生了什么? 这个问题涉及的面非常广,每个涉及的点又很深入.从触屏/键盘如何到 CPU?CPU 如何到系统内核?如何从操作系统 GUI 到浏览器?浏览器如何向网卡发送数据?数据如何从本机网卡发送到服务器?服务器接收数据后如何处理?服务器返回数据后浏览器如何处理?浏览器如何将页面展现出来?等等等等,每一个过程都包含了大量且深入的知识体系,很难一以贯通. 但作为前端开发人员,浏览器是我们的主要工具之一,浏览器是如何将…
从url 输入网址到最终页面渲染完成,发生了什么? 1.DNS解析:将域名地址解析为IP地址 先读取: -浏览器DNS缓存 -系统DNS缓存 -路由器DNS缓存 -网络运营商DNS缓存 -递归搜索:blog.baidu.com - .com域名下查找DNS解析 - .baidu域名下查找DNS解析 - blog域名下查找DNS解析 - 页面出错 2.TCP连接:TCP三次握手 -第一次握手,由浏览器发起,告诉服务器我要发送请求了 -第二次握手,由服务器发起,告诉浏览器我准备接受了,你可以发送了…
一.文本对话--从请求到响应 我们在浏览器中输入一个 URL,回车之后便会在浏览器中观察到页面内容.实际上这个过程是: (1)浏览器向网站所在的服务器发送了一个 Request(请求) (2)网站服务器接收到这个Request之后进行处理和解析 (3)然后返回对应的一个Response(响应)给浏览器,Response里面就包含了页面的源代码等内容 (4)浏览器再对其进行解析便将网页呈现了出来. 简单说,这个通信的过程是基于TCP/IP通信协议族规范上实现的,完成从客户端到服务器端等一系列信息交…
从按下url到渲染页面流程图 处理输入信息 检查用户输入 当用户在地址栏中输入一个查询关键字时,地址栏会判断输入的关键字是搜索内容,还是请求的 URL.如果是搜索内容,地址栏会使用浏览器默认的搜索引擎,来合成新的带搜索关键字的 URL.如果判断输入内容符合 URL 规则,比如输入的是 time.geekbang.org,那么地址栏会根据规则,把这段内容加上协议,合成为完整的 URL beforeunload事件 当用户输入关键字并键入回车之后,这意味着当前页面即将要被替换成新的页面,不过在这个流…
PHP程序的时候会在文件的最后加上一个闭合标签,如下: <?phpclass MyClass{public function test(){//do something, etc.}}?> 而最佳实践是不使用 "?>"来闭合程序.为什么不写闭合标签呢?不闭合程序这看上去非常的不完美啊,感觉程序没有终止一样,对于有强迫症的程序员这是非常糟糕的事情啊. PHP闭合标签"?>"在PHP中对PHP的分析器是可选的.对于纯PHP文件,不写封闭标签的原因…
嘛,起因是黑子大叔在微博上的一条@信息,找起了这个的实现,看了一圈google的中文信息内似乎还没有怎么提到这个的内容,就发表上来. 详细效果就是类似于用Firefox4+/Chrome 5+/Safari 5+/Opera 11.5+登录新浪微博后看到的个人时间轴,在翻页时可以观察到这个效果,地址栏URL变动,但是页面没有刷新,用firebug观察也观察不到刷新整个页面,只有ajax请求的翻页数据.从先前的理解来说,URL的修改必然引起(请注意我不是在说通过锚点修改)浏览器重载页面,但利用HT…
从url输入网址后发生什么…
这是一个综合性很强的问题,个人理解包含以下七个基本点: 1.在浏览器地址栏输入url并按下回车. 2.浏览器检查当前url是否存在缓存和缓存是否过期. 3.域名解析(DNS解析url对应的ip). 4.根据ip建立tcp链接(三次握手). 5.用当前url发送http请求. 6.服务器处理请求,浏览器接收响应. 7.浏览器渲染页面. 接下来分析一下每一个基本点所干的事情: 1.在浏览器地址栏输入url并按下回车. 分析:略 2.浏览器检查当前url是否存在缓存和缓存是否过期. 分析:浏览器检查当…
先看一幅图:(下面的所有图我都进行拉伸压缩了  如果看不到  可以右键复制图片地址 然后到浏览器粘贴查看  不然显示不全图片) mac没有画图软件  不好意思  xmind做的 1. 输入网址   当我们开始在浏览器中输入网址的时候,浏览器其实就已经在智能的匹配可能得 url 了,他会从历史记录,书签等地方,找到已经输入的字符串可能对应的 url,然后给出智能提示,让你可以补全url地址.      url : 统一资源定位符,用于定位互联网上的资源.      url构成 协议类型://<主机…
经典问题:在浏览器输入一个url后,会发生什么事情呢? (1)假设是简单的http请求(GET),IPV4,无代理. 浏览器先查看浏览器缓存-系统缓存-路由器缓存,若缓存中有,请略过中间步骤,直接跳到第9步~若没有,则按照下面的步骤进行操作. 浏览器从url中解析出服务器的主机名,并将主机名转换成服务器的IP地址.PS:DNS查找域名的过程 浏览器从url中解析出端口号,默认80 浏览器建立一条与服务器的tcp连接(建立过程:三次握手). PS:一个完整的TCP连接 浏览器通过tcp连接向服务器…
作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等. 本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事- 1. 首先嘛,你得在浏览器里输入要网址: 2. 浏览器查找域名的IP地址 导航的第一步是通过访问的域名找出其IP地址.DNS查找过程如下: 浏览器缓存 – 浏览器会缓存DNS记录一段时间. 有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器…
1.用户输入网址,浏览器发起DNS查询请求 用户访问网页,DNS服务器(域名解析系统)会根据用户提供的域名查找对应的IP地址. 域名解析服务器是基于UDP协议实现的一个应用程序,通常通过监听53端口来获取客户端的域名解析请求.DNS查找过程如下: 浏览器缓存 – 浏览器会缓存DNS记录一段时间. 有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存个自固定的一个时间(2分钟到30分钟不等). 系统缓存 – 如果在浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用(win…
B/S网络架构从前端到后端都得到了简化,都基于统一的应用层协议HTTP来交互数据,HTTP协议采用无状态的短链接的通信方式,通常情况下,一次请求就完成了一次数据交互,通常也对应一个业务逻辑,然后这次通信连接就断开了.采用这种方式是为了能够同时服务更多的用户,因为当前互联网应用每天都会处理上亿的用户请求,不可能每个用户访问一次后就一直保持住这个连接. ①输入URL:www.google.com: ②DNS域名解析:域名与IP映射(发送到DNS(域名服务器)获得域名对应的WEB服务器的IP地址):…
在浏览器的地址栏中输入URL地址"http://www.gacl.cn:8080/JavaWebDemo1/1.jsp"去访问服务器上的1.jsp这个web资源的过程 1.浏览器根据主机名"www.gacl.cn"去操作系统的Hosts文件中查找主机名对应的IP地址. 2.浏览器如果在操作系统的Hosts文件中没有找到对应的IP地址,就去互联网上的DNS服务器上查找"www.gacl.cn"这台主机对应的IP地址. 3.浏览器查找到"w…
当在浏览器地址栏输入网址,如:www.baidu.com后浏览器是怎么把最终的页面呈现出来的呢?这个过程可以大致分为两个部分:网络通信和页面渲染. 一.网络通信 互联网内各网络设备间的通信都遵循TCP/IP协议,利用TCP/IP协议族进行网络通信时,会通过分层顺序与对方进行通信.分层由高到低分别为:应用层.传输层.网络层.数据链路层.发送端从应用层往下走,接收端从数据链路层网上走.如图所示: 1. 在浏览器中输入url 用户输入url,例如http://www.baidu.com.其中http为…
作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等. 本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事-1. 首先嘛,你得在浏览器里输入要网址: 2. 浏览器查找域名的IP地址 导航的第一步是通过访问的域名找出其IP地址.DNS查找过程如下: * 浏览器缓存 – 浏览器会缓存DNS记录一段时间. 有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览…
在浏览器地址栏输入URL 浏览器查看缓存,如果请求资源在缓存中并且新鲜,跳转到转码步骤 如果资源未缓存,发起新请求 如果已缓存,检验是否足够新鲜,足够新鲜直接提供给客户端,否则与服务器进行验证. 检验新鲜通常有两个HTTP头进行控制Expires和Cache-Control: HTTP1.0提供Expires,值为一个绝对时间表示缓存新鲜日期 HTTP1.1增加了Cache-Control: max-age=,值为以秒为单位的最大新鲜时间 浏览器解析URL获取协议,主机,端口,path 浏览器组…
[问题描述] 在浏览器输入www.baidu.com,然后,浏览器显示相应的百度页面,这个过程究竟发生了什么呢? [第一步,解析域名,找到主机] 正常情况下,浏览器会缓存DNS一段时间,一般2分钟到30分钟不等.如果有缓存,直接返回IP. 缓存中如果没有查到IP,浏览器会做系统调用,读取主机的hosts文件,如果找到,直接返回IP. hosts文件里面还是没有找到,则直接去路由器中寻找DNS缓存,一般这个时候都能找到对应的IP. 如果还是没有找到,ISP的DNS服务器就开始从根域名服务器开始递归…
首先,解决这个问题要搞明白此url是从程序内部跳转还是直接在地址栏输入的,如果是程序内部跳转,那就好办啦.方法如下: 判断用户是否登录状态,是否携带token 使用router.beforeEach注册一个全局前置守卫,判断用户是否登录. router.beforeEach((to, from, next) => { if (to.path === '/login') { next(); console.log(next) } else {// 每次页面跳转执行,token或openId錯誤,均…
之前我们已经讨论过浏览器的渲染原理,今天我们来讨论下更广泛的从输入URL到渲染出页面的过程. 1. 查询该URL是否有缓存 如果有,则直接返回,没有的话,下一步 2. 查询URL对应的IP 首先,到 host 文件查找,如果找到则返回. 如果没有找到,去访问 DNS 服务器(一般先访问本地路由器,没有再访问更高级的 DNS 服务器),最终得到对应的 IP 3. 建立 TCP 连接 首先,通过 IP 协议,指定 出发地 和 目的地 然后,通过 OSPF 协议,计算路由的最佳路径,得到路过的每个路由…