1.解析URL ________________________________________________________________________ 关于URL: URL(Universal Resource Locator):统一资源定位符.俗称网页地址或者网址. URL用来表示某个资源的地址.(通过俗称就能看出来) URL主要由以下几个部分组成: a.传输协议 b.服务器 c.域名 d.端口 e.虚拟目录 f.文件名 g.锚 h.参数 也就是说,通常一个URL是像下面这样 连起来…
1.输入url,按下回车时,先做一个redirect(重定向),因为浏览器可能记录本机的地址已经永久跳转成新的地址,所以一开始浏览器就先要判断下需不需要重定向,以及重定向到哪里:2.然后第二步就是看App cache(应用缓存),因为请求的资源已经缓存过了,要先去看缓存,看是否有缓存,有直接返回,如果没有缓存,就去服务器请求资源 :3.因为输入的是域名,域名对应成IP地址之后,才能真正的访问到服务器,所以这里要先去查找域名对应的IP地址,所以就叫DNS解析:4.然后有了IP之后,我们就要去创建T…
一个古老的面试问题:当你在浏览器中输入whosmall.com并且按下回车之后发生了什么? 不过我们不再局限于平常的回答,而是想办法回答地尽可能具体,不遗漏任何细节. 这将是一个协作的过程,所以深入挖掘吧,并且帮助我们一起完善它.仍然有大量的细节等待着你来添加,欢迎向我们发送Pull Requset! 回车键按下为了从头开始,我们选择键盘上的回车键被按到最低处作为起点.在这个时刻,一个专用于回车键的电流回路被直接或者通过电容器闭合了,使得少量的电流进入了键盘的逻辑电路系统.这个系统会扫描每个键的…
1.域名解析 域名解析的过程:  1).查询浏览器自身DNS缓存 2).若上面没有查找到,则搜索操作系统自身的dns缓存 3).若上面没有找到,则尝试读取hosts文件 4).若上面没有找到,向本地配置的首选DNS服务器发送请求 5).win系统 如果上面没有找到,操作系统查找NetBIOS name cache 6).win系统 如果上面没有找到,查询wins服务器 7).win系统 如果上面没有找到,广播查找 8).win系统 如果上面没有找到,读取LMHOSTS文件 若以上多没有找到,解析…
摘录部分一:https://www.cnblogs.com/kongxy/p/4615226.html 从输入URL到浏览器显示页面发生了什么 当在浏览器地址栏输入网址,如:www.baidu.com后浏览器是怎么把最终的页面呈现出来的呢? 这个过程可以大致分为两个部分:网络通信和页面渲染. 一.网络通信 互联网内各网络设备间的通信都遵循TCP/IP协议,利用TCP/IP协议族进行网络通信时,会通过分层顺序与对方进行通信. 分层由高到低分别为:应用层.传输层.网络层.数据链路层.发送端从应用层往…
首先总结下输入url按下回车后的大致流程: 查询url的ip地址. 建立tcp连接,连接服务器. 浏览器发起http/https请求. 服务器响应浏览器的请求. 网页的解析与渲染. 下面分析每个过程 查询url的ip地址详细过程: 浏览器解析出url中的域名. 查询浏览器的DNS缓存. 浏览器中没有DNS缓存,则查找本地客户端hosts文件有无对应的ip地址. hosts中无,则查找本地DNS服务器有无对应的缓存. 若本地DNS服务器没有缓存,则向根服务器查询,进行递归查找. 递归查找从顶级域名…
本文摘要: 1.DNS域名解析: 2.建立TCP连接: 3.发送HTTP请求: 4.服务器处理请求: 5.返回响应结果: 6.关闭TCP连接: 7.浏览器解析HTML: 8.浏览器布局渲染: 总结 输入网址 当我们在浏览器输入网址并回车后,一切从这里开始. 一.DNS域名解析 我们在浏览器输入网址,其实就是要向服务器请求我们想要的页面内容,所有浏览器首先要确认的是域名所对应的服务器在哪里.将域名解析成对应的服务器IP地址这项工作,是由DNS服务器来完成的. 客户端收到你输入的域名地址后,它首先去…
转自:http://www.cnblogs.com/webdeve/p/7865520.html本文摘要: 输入网址 当我们在浏览器输入网址并回车后,一切从这里开始. 一.DNS域名解析 我们在浏览器输入网址,其实就是要向服务器请求我们想要的页面内容,所有浏览器首先要确认的是域名所对应的服务器在哪里.将域名解析成对应的服务器IP地址这项工作,是由DNS服务器来完成的. 客户端收到你输入的域名地址后,它首先去找本地的hosts文件,检查在该文件中是否有相应的域名.IP对应关系,如果有,则向其IP地…
本文摘要: 1.DNS域名解析: 2.建立TCP连接: 3.发送HTTP请求: 4.服务器处理请求: 5.返回响应结果: 6.关闭TCP连接: 7.浏览器解析HTML: 8.浏览器布局渲染: 总结 输入网址 当我们在浏览器输入网址并回车后,一切从这里开始. 一.DNS域名解析 我们在浏览器输入网址,其实就是要向服务器请求我们想要的页面内容,所有浏览器首先要确认的是域名所对应的服务器在哪里.将域名解析成对应的服务器IP地址这项工作,是由DNS服务器来完成的. 客户端收到你输入的域名地址后,它首先去…
本文摘要: 1.DNS域名解析: 2.建立TCP连接: 3.发送HTTP请求: 4.服务器处理请求: 5.返回响应结果: 6.关闭TCP连接: 7.浏览器解析HTML: 8.浏览器布局渲染: 总结   输入网址 当我们在浏览器输入网址并回车后,一切从这里开始. 一.DNS域名解析 我们在浏览器输入网址,其实就是要向服务器请求我们想要的页面内容,所有浏览器首先要确认的是域名所对应的服务器在哪里.将域名解析成对应的服务器IP地址这项工作,是由DNS服务器来完成的. 客户端收到你输入的域名地址后,它首…
有没有这种场景:当你被问起某一项知识点时,你大脑里想起经常看到过这样的问题,可是具体是怎么样就是说不清楚. 好吧,我就是这样的,于是整理一下,实在记不住,以后找起来也方便. 当你在浏览器地址栏里输入一个网址,比如:https://www.zhihu.com/, 我们就会看到知乎的首页.实际上背后的经过,是酱紫的. 一.浏览器解析输入的网址 首先,浏览器会解析我们输入的网址,那么https://www.zhihu.com/的域名是由什么组成的? 1.http 通常被译为超文本传输协议.不过我看书上…
1.Redirect,跳转    浏览器记录里这个地址永久跳转的新地址,浏览器先去判断需不需要跳转 2.Application cache ,应用缓存    浏览器看请求的资源是否有缓存 3.DNS解析    域名解析成ip地址 4.创建TCP连接    tcp三次握手建立连接 5.发送请求    发送HTTP请求的数据包 6.接受响应    服务器发送给客户端…
假如在浏览器中输入了www.cnblogs.com,然后回车 DNS解析 浏览器检查浏览器缓存是否有域名对应的IP. 浏览器查找操作系统是否有对应的DNS解析成果(hosts文件). 查找路由器缓存. 浏览器客户端向本地域名服务器发送一个含有域名www.cnblogs.com的DNS查询报文.(大约80%的域名解析到这里就完成了) 本地DNS服务器把查询报文转发到根DNS服务器,根DNS服务器注意到其com后缀,于是向本地DNS服务器返回com的顶级域名服务器的IP地址. 本地DNS服务器再次向…
简单说来分为6个过程 1.DNS解析 互联网每一个服务器都是以ip地址作为界限的,并不是我们平时输入的url地址,就比如www.ccc.com这一个网址,当输入进浏览器之后就会由DNS解析将它转化成一个ip地址,所以DNS实际上担任的是一个翻译者的角色.下面放一个大佬的图,看了之后估计你就会更加深入的了解DNS域名解析的原理了. 从图上可以看出域名解析其实是一个从右到左的过程也就是从-.到-com到-ccc.com到-www.ccc.com.第一个.表示的就是根域名服务器的域名解析.那了解了这个…
面试题会经常问这个,之前也被问过,回答的不是很好,后来看到百度前端的一篇博客,啰嗦了好多,很么触摸屏都上了..后来看到stackoverflow上的一个回答,比较短. 原文地址:http://stackoverflow.com/questions/2092527/what-happens-when-you-type-in-a-url-in-browser 下面的讲解很粗糙也很简单,我们假设最简单的HTTP请求,没有代理也没有IPv4(纯IPv6客户端的工作原理应该类似,但我还没见过这样的工作站)…
参考:https://www.xuecaijie.com/it/157.html#1Q64p5DeC8dKFF 本文摘要: 1.DNS域名解析: 2.建立TCP连接: 3.发送HTTP请求: 4.服务器处理请求: 5.返回响应结果: 6.关闭TCP连接: 7.浏览器解析HTML: 8.浏览器布局渲染: 总结…
在浏览器输入url后回车,整个过程发生了什么?整个过程如果节节细述的话,那非常的复杂.我就简单的描述一下整个过程 1.查询DNS,获取域名对应的IP地址 (1).浏览器搜索自身的DNS缓存 (2).搜索操作系统的DNS缓存 (3).读取本地的HOST文件 (4).发起一个DNS的系统调用 (4.1).宽带运营服务器查看本身缓存 (4.2).运营商服务器发起一个迭代DNS解析请求 2.浏览器获得域名对应的IP地址后,发起HTTP三次握手 3.TCP/IP连接建立起来后,浏览器就可以向服务器发送HT…
该问题总结 一. 往浏览器输入URL后给你一个页面,你天天在使用的东西,学过计算机网络的知道是怎么回事,就DNS解析然后页面的回馈,不过要讲好还是有难度. 之前fex团队的nwind专门写过这个问题的博客: http://fex.baidu.com/blog/2014/05/what-happen/ 厉害的地方是将整个计算机体系和硬件都涉及进来,很广很深,太强大了. 然后找到一个StackOverFlow的答案: what happens when you type in a URL in br…
在浏览器中输入URL后,执行的全部过程.会用到哪些协议?(一次完整的HTTP请求过程) 整个流程如下: 域名解析 为了将消息从你的PC上传到服务器上,需要用到IP协议.ARP协议和OSPF协议. 发起TCP的三次握手 建立TCP连接后发起HTTP请求 服务器响应HTTP请求 浏览器解析html代码,并请求HTML代码中的资源(如js.css.图片等) 断开TCP连接 浏览器对页面进行渲染呈现给用户 域名解析 比如要查询www.baidu.com的IP地址: 1.浏览器搜索自己的DNS缓存(维护一…
原文地址:http://www.jianshu.com/p/c1dfc6caa520 在学习前端的过程中经常看到这样一个问题:当你在浏览器中输入url后发生了什么?下面是个人学习过程中的总结,供个人复习使用,如有理解不正确或不足的地方希望大家指出.先上一张脑图: 我将该过程分为了以下六步: 1. DNS域名解析 在浏览器DNS缓存中搜索 在操作系统DNS缓存中搜索 读取系统hosts文件,查找其中是否有对应的ip 向本地配置的首选DNS服务器发起域名解析请求 2. 建立TCP连接 为了准确地传输…
输入url后浏览器干了些什么(详解) DNS(Domain Name System, 域名系统) 解析 DNS解析的过程就是寻找哪台机器上有你真正需要的资源过程.但你在浏览器张红输入一个地址时,例如:baidu.com,其实不是百度网站真正意义上的地址.互联网上每一台计算机的唯一标识是他的IP地址,但是IP地址并不方便记忆.用户更细化用方便记忆的网址去寻找互联网上的其他计算机.也就是上面提到的百度的网址.所以互联网设计者需要在用户的方便性与可用性做一个权衡,这个权衡就是一个网址到IP地址的转换,…
目录 一  前言 二  URL解析 三  DNS域名解析 1  IP 地址 2  什么是域名解析 3  浏览器如何通过域名去查询 URL 对应的 IP 呢 4  小结 四  建立连接 1  TCP三次握手 2  SYN攻击 3  为什么不能用两次握手进行连接 五  发送HTTP请求 1  请求报文介绍 2  请求流程 六  服务器处理请求并返回 HTTP 报文 1.  服务器 2. MVC 后台处理阶段 3. HTTP响应报文 七  浏览器解析渲染页面 1  根据 HTML 解析 DOM 树 2…
这个问题是老生常谈的问题啦,虽然说到处百度都有的答案,还是希望自己能总结一下. 如今有很多答案,都是从硬件开始讲起,比如键盘的响应或者触屏的响应,然后CPU处理到OS的内核等等.这里不作为重点来讲,要是有兴趣的同学给你一个传送门:FEX--从输入 URL 到页面加载完成的过程中都发生了什么事情? 解析url 首先很多浏览器会做预处理,特别是Chrome.预处理也就是,通过分析您将要访问的url,提前建立TCP链接或者渲染.而给用户的体验,就是输入完Url后页面瞬间加载完成,怪不得Chrome会给…
从输入 URL 到页面加载完成的过程中都发生了什么 过程描述 浏览器查找域名对应的 IP 地址: 浏览器根据 IP 地址与服务器建立 socket 连接: 浏览器与服务器通信: 浏览器请求,服务器处理请求: 浏览器与服务器断开连接. 根据域名查找IP地址 概念解析 IP地址:IP协议为互联网上的每一个网络和每一台主机分配的一个逻辑地址.IP地址如同门牌号码,通过 IP地址才能确定一台主机位置.服务器本质也是一台主机,想要访问某个服务器,必须先知道它的IP地址: 域名(HOST):IP 地址由四个…
从输入 URL 到页面加载完成的过程中都发生了什么事情? 这是一道经典的面试题,涉及面非常广,要答出来并不困难,当要将问题回答好却不是那么容易 过程概述 浏览器查找域名对应的 IP 地址: 浏览器根据 IP 地址与服务器建立 socket 连接: 浏览器与服务器通信: 浏览器请求,服务器处理请求: 浏览器与服务器断开连接. 详细解析 1.浏览器接收URL URL包含的信息:协议.网络地址:端口号.资源路径.查询字符串?.片段标识符# 2.将URL与缓存进行比对如果请求的页面在缓存中且未过期,则直…
第一个问题:从输入 URL 到浏览器接收的过程中发生了什么事情? 从触屏到 CPU 首先是「输入 URL」,大部分人的第一反应会是键盘,不过为了与时俱进,这里将介绍触摸屏设备的交互. 触摸屏一种传感器,目前大多是基于电容(Capacitive)来实现的,以前都是直接覆盖在显示屏上的,不过最近出现了 3 种嵌入到显示屏中的技术,第一种是 iPhone 5 的 In-cell,它能减小了 0.5 毫米的厚度,第二种是三星使用的 On-cell 技术,第三种是国内厂商喜欢用的 OGS 全贴合技术,具体…
一.前言 这道题的覆盖面可以非常广,很适合作为一道承载知识体系的题目.每一个前端人员,如果要往更高阶发展,必然会将自己的知识体系梳理一遍,没有牢固的知识体系,无法往更高处走! 二.主干流程 在将浏览器渲染原理.JS运行机制.JS引擎解析流程梳理一遍后,感觉就跟打通了任督二脉一样,有了一个整体的架构,以前的知识点都连贯起来了. 1.从浏览器接收url到开启网络请求线程(涉及到:浏览器机制,线程和进程之间的关系等) 2.开启网络线程到发出一个完整的http请求(涉及到:dns查询,tcp/ip请求,…
为了便于理解,我将整个过程分为了六个问题来展开. 第一个问题:从输入 URL 到浏览器接收的过程中发生了什么事情? 从触屏到 CPU 首先是「输入 URL」,大部分人的第一反应会是键盘,不过为了与时俱进,这里将介绍触摸屏设备的交互. 触摸屏一种传感器,目前大多是基于电容(Capacitive)来实现的,以前都是直接覆盖在显示屏上的,不过最近出现了 3 种嵌入到显示屏中的技术,第一种是 iPhone 5 的 In-cell,它能减小了 0.5 毫米的厚度,第二种是三星使用的 On-cell 技术,…
从输入URL到页面加载完成的过程中都发生了什么事情?--这是一个经典的面试题: 主要是关于计算机网络方面的知识基础,对于非科班计算机自学web开发的同学可能理解起来就很困难. StackOverFlow上有一个简要回答: http://stackoverflow.com/questions/2092527/what-happens-when-you-type-in-a-url-in-browser Piskvor的回答: 作一个简单粗暴的描述,假设是简单的HTTP请求,IPV4,没有代理. 1.…