首页 > 从点击链接后发生了什么?

从点击链接后发生了什么?

如题。

希望能有比较详细的解答

这里涉及的事件与输入URL所发生的事是不一样的,涉及到了浏览器事件,js解析,冒泡,跳转等问题,@沙渺回答的比较好


随便一搜一大堆
http://blog.jobbole.com/33951/


....这个不应该啊,我看了下题主的blog,应该不会问出很浅显的问题。

但是针对这个回答,又谈不出什么高谈阔论,无非就是一套完整的http请求process,什么DNS、请求至server,然后缓存策略,处理等等等。所以我怀疑是不是题主对链接本身有歧义?

HTML上的超链接无非是对万维网上一个资源的指向(统一资源定位符)而已,手打一个url和点开一个链接对于浏览器来说无异。


少年,让我来拯救你
猛搓:http://fex.baidu.com/blog/2014/05/what-happen/


解答要匹配的上提问的字数,所以很难非常具体。简而言之:

我认为如果关注“点击链接”这个行为本身,那么后边如何请求页面的内容就不应当再展开详述,因为之后的事情就是个间接关系,脱离点击链接这件事本身了。


Electron drift.

1 当你在一个网页的链接上按下你的指点设备后,指点设备会对你的行为进行处理
1a 如果你的指点设备是传统的鼠标,那么微动开关接触。
1aa 如果这个微动开关是上拉的,那么若干电子从鼠标处理器通过微动开关簧片中流入(电子是负的)。鼠标知道你按下了按钮
1ab 如果这个微动开关是下拉的,那么若干电子通过微动开关从鼠标中跑出。鼠标知道你按下了按钮
1b 如果你的指点设备是触摸板。你tap触摸板的时候触摸板下面的金属片产生压电效应,知道你tap了
2 指点设备通过自身处理器电路处理,打包数据,发给总线我有一个click。
3 总线(USB PS2)发送给主机端口。
4 主机通过内部电路处理这个click指令。这期间很多电子让很多个MOS管导通关闭
5 电路处理后去内存中找OS相关数据
6 首先cpu会在一级缓存中找数据 如果命中,告诉OS
7 L1 miss, search L2
8 L2 miss, search L3(if you have)
9 L3 miss, search RAM
10 RAM miss, search MMC/HDD
11 OS知道用户在某个坐标有一个click行为
12 OS通过GUI判断这个click行为要发给哪个软件
13a 假设你的浏览器是firefox。firefox知道用户在某个连接上有一个mousedown()行为,但是!!!firefox不会动作!!!
14b 别的浏览器可能按下去就动作了 我不知道
15a 当用户释放按键,重复上面过程。浏览器判断行为,假设,是一个标准的a href链接。其他可能太多我不分支了 https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a https://developer.mozilla.org/en-US/docs/Web/API/Event
16 经过一番计算。浏览器发送标准get给操作系统。
17a 如果目标地址是本地,那么直接发送这个包给监听软件,如httpd (jump to 22
17b1 如果目标地址是一个标准ip地址,通过CPU告诉网卡,我要发包
17b2a 如果网卡是有线设备,直接通过网络上的路由设备走包 这期间信号被处理了很多次
17b2b 如果网卡是无线设备。。。略
17c1 如果目标地址是一个标准http网址,那么操作系统首先查询hosts,没有命中则查询dns缓存,没有命中查询DNS服务器(过程同17b2a,略)( http://blog.jobbole.com/33951/ )
17c2 查到ip地址 (jump to 17b1
18 数据包通过协议在网络游走(协议太多)
19 目标服务器接收了这个包
20 目标服务器的网卡处理了这个包 发送数据给OS
21 OS发送数据给监听软件,如httpd
22 httpd处理了这个get请求
23 httpd请求本地文件。(cache命中了么?
24 httpd返回数据包给OS
25 OS打包数据给网卡
26 网卡发包
27 电子们在游走
28 你的电脑的网卡收到了数据
29 网卡处理了这个包 发送数据给OS
30 OS发送数据给firefox
31 firefox渲染了数据包,结果返回到gui的缓存
32 gui告诉显卡,某某地方要有一个盒子
33 显卡把这个盒子表示成像素点 x,y,r,g,b
34 像素点被打包成电信号 通过总线传输给显示器
35 显示器处理了这个数据。知道x y像素下一个点要变色
36 显示器电路控制某个mos管的导通程度,决定了单位时间内电子的流过量
37 液晶分子扭转成色 你就看到了

涉及学科 微电子电路 电磁场 计算机架构 网络协议 操作系统

【热门文章】
【热门文章】