博客
关于我
从浏览器输入网址到服务器返回经历的过程
阅读量:370 次
发布时间:2019-03-05

本文共 718 字,大约阅读时间需要 2 分钟。

步骤

1. 输入网址 

2. 缓存解析

     浏览器获取了这个url,当然就去解析了,它先去浏览器缓存当中查看,如果有从缓存当中显示页面,然后没有那就进行步骤三

3.  域名解析

    

image

导航的第一步是通过访问的域名找出其IP地址。DNS查找过程如下:

  • 浏览器缓存 – 浏览器会缓存DNS记录一段时间。 有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存个自固定的一个时间(2分钟到30分钟不等)。
  • 系统缓存 – 如果在浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用(windows里是gethostbyname)。这样便可获得系统缓存中的记录。
  • 路由器缓存 – 接着,前面的查询请求发向路由器,它一般会有自己的DNS缓存。
  • ISP DNS 缓存 – 接下来要check的就是ISP缓存DNS的服务器。在这一般都能找到相应的缓存记录。
  • 递归搜索 – 你的ISP的DNS服务器从跟域名服务器开始进行递归搜索,从.com顶级域名服务器到Facebook的域名服务器。一般DNS服务器的缓存中会有.com域名服务器中的域名,所以到顶级服务器的匹配过程不是那么必要了。

4. tcp连接,三次握手

   在域名解析之后,浏览器向服务器发起了http请求,三次握手,浏览器与服务器建立TCP连接。在此之后,浏览器开始向服务器发送http请求。请求信息包含一个头部和一个请求体。

5. 服务器发回一个HTML响应

6. 浏览器开始显示HTML

     在浏览器没有完整接受全部HTML文档时,它就已经开始显示这个页面了

7.  浏览器发送获取嵌入在HTML中的资源

      这些资源包括: 图片,css,  javascript

8. 断开tcp连接,四次挥手

转载地址:http://zpbwz.baihongyu.com/

你可能感兴趣的文章
11.2.6 时间值的小数秒
查看>>
11.2.7 日期和时间类型之间的转换
查看>>
redis 内存溢出_从数据存储的角度告诉你Redis为什么这么快!
查看>>
实例分析Facebook激励视频广告接入
查看>>
实例:使用OKGO下载网络压缩包资源,然后解压缩放在本地使用
查看>>
解决mybatis嵌套查询使用PageHelper分页不准确
查看>>
Redis源码分析(七)--- zipmap压缩图
查看>>
大规模集群自动化部署工具--Chef的安装部署
查看>>
自定义Hive Sql Job分析工具
查看>>
【MySQL】(九)触发器
查看>>
关于Altium Designer 09导出BOM表不能正确分类问题
查看>>
Oracle 11G环境配置
查看>>
【Python】(十二)IO 文件处理
查看>>
【Oozie】(三)Oozie 使用实战教学,带你快速上手!
查看>>
师兄面试遇到这条 SQL 数据分析题,差点含泪而归!
查看>>
Java8新特性——并行流与顺序流
查看>>
C语言的数值溢出问题(上)
查看>>
BottomNavigationView控件item多于3个时文字不显示
查看>>
函数指针的典型应用-计算函数的定积分(矩形法思想)
查看>>
8051单片机(STC89C52)八个LED灯闪烁
查看>>