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