Web开发系列(一):从输入网址到最后,这个过程经历了什么?

栏目: 后端 · 前端 · 发布时间: 6年前

内容简介:这个问题,其实非常非常非常的大,涉及到的知识点和细节非常的多。不过我们适度的抛去一些无关紧要的细节, 例如在PC上用键盘输入还是在手机上用触屏输入这种。首先,我们要进行一定的假设,用条件来限定我们的想象范围。假设我们使用一台连着网线的PC,用键盘输入

这个问题,其实非常非常非常的大,涉及到的知识点和细节非常的多。不过我们适度的抛去一些无关紧要的细节, 例如在PC上用键盘输入还是在手机上用触屏输入这种。

首先,我们要进行一定的假设,用条件来限定我们的想象范围。

假设我们使用一台连着网线的PC,用键盘输入 http://jiajunhuang.com ,从按下回车键开始,到最后我们看到了 页面,都经历了哪些过程?

DNS查找地址

首先浏览器看到输入的内容是 http://jiajunhuang.com ,则会把 jiajunhuang.com 提取出来,通过DNS查找, 获得一个ip地址,然后http协议默认使用80端口,拼在一起去访问服务器。

而此处的DNS,全称是 Domain Name Servers,作用是记录IP地址和域名的映射关系,为什么需要这样一个东西呢? 因为IP地址不好记,可能你会觉得,IP地址很好记呀,那么试试记一个IPv6地址呢?而查找DNS的过程大概是这样:

  • 查找本地hosts文件,看是否有对应记录 - 所以有时候我们可以通过更改hosts文件浏览其它网站
  • 如果hosts文件查找不到,就会找本地的缓存,一般都会缓存一些常用的域名,以加快访问速度,当然,据说Chrome自己 也有缓存DNS,如果是这样的话,应该在第一步之前,Chrome就会先查找自己缓存的记录
  • 如果本地没有缓存,那么会向计算机所在网络的DNS服务器询问
  • 如果计算机所在网络的DNS服务器也没有,则会向再上一级询问,依次递归下去
  • 。。。
  • 当向上第n级找到,或者顶级未找到时,就会返回结果,然后这个结果依次传递回去

通常DNS会使用UDP协议。

DNS协议有一个缺点就是其协议不带加密,所以会有一种攻击叫做"DNS污染"。

请求服务器

浏览器获得IP地址之后,因为协议是HTTP,所以默认端口就是80,因此,向对应的服务器发起请求,HTTP协议如何发起请求我们 会在下一篇博客中讲述。

服务器响应

服务器接到请求之后,对请求进行响应,并且输出内容或者断掉连接。

浏览器渲染

浏览器收到服务器输出的内容之后,执行js脚本,根据css和浏览器自身默认的css渲染页面,然后呈现在用户前面。

那么,如果是HTTPS呢?

那么,如果是HTTPS呢?SSL会在TCP和HTTP协议之间发挥作用,SSL成功握手之后开始传输HTTP请求。


以上所述就是小编给大家介绍的《Web开发系列(一):从输入网址到最后,这个过程经历了什么?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

降维打击

降维打击

杨 健 / 北京时代华文书局 / 2016-10 / 68

“降维打击”出自中国科幻作家刘慈欣的小说《三体》,而笔者在这本书中试图把“降维打击”的思维引入到企业经营管理的实战中,总结出一套“降维打击”的商业理论。 按照笔者的理解,企业竞争力可以体现在若干个维度的累加上,具有高维度思维的企业,主动将竞争对手的某一核心维度的竞争力降为零,并跟对手在自己更具竞争优势的维度内进行竞争,从而实现以小博大、以弱灭强的商业竞争结果,这就是企业竞争中的“降维打击”。......一起来看看 《降维打击》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具