前言
从输入一个URL到浏览器完整的渲染出页面,第一步必然是从按下按键开始。说来惭愧,学得不精,对于电路和计算机的系统调用也是一知半解,所以这一部分整理的内容主要涉及浏览器对于按键的响应和处理。对于物理层词按键导致按键的电流回路被直接地或者通过电容器间接地闭合了,使得少量的电流进入了键盘的逻辑电路系统,然后这个系统扫描每个键的状态,对于按键开关的电位弹跳变化进行噪音消除,并将其转化为键盘码值并进行编码从外设传输到计算机内部的过程,以及计算机内容如何处理总线上传输的信号以及处理中断并进行系统调用反馈按键响应我怕是解释不清楚,若有大佬愿意补充可以pull request
,发挥集体的智慧。
浏览器的联想查询服务
当你按下第一个键,浏览器接收到按键信息之后,会触发自动补全输入机制。浏览器根据自己的算法,以及你是否处于隐私浏览模式,会在浏览器的地址框下方给出输入建议。大部分算法会优先考虑根据你的搜索历史和书签等内容给出建议。这种自动补全输入机制就是浏览器的联想查询服务。只要鼠标的焦点位于浏览器的URL输入框,便会有输入提示。下图是我输入www
之后的输入提示,从中可以看出前三个带有page icon
的页面是我曾经在浏览器的输入框中输入过的网址内容,而且是最近或者次数最多的几个,后三个带有star icon
的网页则是我收藏夹中最近点开过的几个网页地址。猜测chrome浏览器应该是按照访问频率和最近访问的情况来补全输入的。
但其实可以发现,前两个网址的输入没有什么问题,但是第3个百度搜索的内容应该没有人直接在网址中输入,都是在搜索引擎的页面中进行关键字输入的,但是为什么在浏览器的输入框中也会有记录呢?
这是因为chrome浏览器的地址栏中支持搜索引擎,当输入的内容检测出不是URL地址的时候会调用默认的搜索引擎进行搜索,可以在浏览器的设置中修改默认的搜索引擎
这里输入我想要搜索的内容
,这不是URL的地址格式(URL的地址格式会在另一篇中讲到),所以这里的提示内容后面会有百度搜索
4个字,告诉用户之后敲下回车之后将以百度搜索引擎去搜索输入的关键字。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。