本文只是一个整理向的随笔,以个人思路来简化的同时进行适当的拓展,如有错误,欢迎指正.

1.输入网址. 

此时得到一个url

2.域名解析

整个过程都是dns系统在发挥作用,它的目的是将域名和ip对应起来.

(1)浏览器DNS缓存:或许很多人不知道,浏览器自身也带有一层DNS缓存,它会先在缓存中查找是否有对应的映射 。

(2)操作系统DNS缓存:操作系统也有自己的DNS缓存,当浏览器DNS缓存的没找到的时候会交给操作系统,而操作系统也会优先去找自己的缓存.

(2)hosts文件:操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析.(到目前为止都是在本地完成的)

(3)当这些都没有的时候,开始向DNS服务器发送请求,最终得到相对应的ip地址.

3.tcp连接,三次握手.

(1)客户端向服务器发送请求,并带上自己的特征,列如a=1,告诉服务器是我在此时发出了请求.

(2)服务器接收到请求后,也随机生成一个代号k,并且将之前客户端的特征进行特定操作,比如a=1+1,表示我不光接收到请求了,还确定是你的请求,同时把这些信息(数据包)发送给客户端,同时自己打开大门准备迎接这次连接.

(3)客户端收到服务端的信息之后,确认a已经被加1过了,说明服务端准备好了,那么客户端会把之前服务端的特征进行特定操作并返回,比如k=1+1.服务端检查一下,k已经被加1了,好.连接通道,进行数据传输.

三次握手的目的:

最主要的目的是客户端和服务端的沟通更及时和准确.比如:第一次请求之后,由于特殊原因,该请求在路上耽搁了不少时间,一段时间后,客户端不想要资源了,而这个时候服务器才收到请求,然后就直接打开大门准备传资源,那它将会一直处于大门敞开的阶段,不光危险还的费神看门.浪费服务端的资源.

4.客户端发送HTTP请求

上面一步只是建立了连接,并没有准确的请求内容.也就是所谓的我虽然进门了,但是我没告诉你我干嘛来了.这一步就是告诉服务端我需要什么.--发送请求头和请求体

5.服务端处理

服务端表示你说的话我听到了,但是我得想想你的话里面包含哪些东西.于是开始解析请求头和请求体,并找到相应的东西在什么位置.----处理请求

6.服务端响应请求

服务端把东西打包好给客户端.-------返回响应头和响应体

7.客户端接收响应数据

客户端下载服务端提供的数据

8.tcp关闭,四次挥手

(1)客户端跟服务器说,我想要的东西拿到了,我想结束这次交流了,所以我"不想说话了"(不想发请求了).----客户端发送一个不再请求的信号给服务端.(闭嘴了)

(2)服务器听到后,"好,那我就不打算听你说话了"(闭耳了).------服务器给客户端一个信息表示我知道你不再发请求了.但是你还能接收数据.

(3)服务器犹豫着要不要再说两句,但是无论说不说最后都得闭嘴了.----------这里是服务器最后发补充数据的时候,也可以不发,但最后都得把我已经不再发数据这一信号发送出去.

(4)客户端知道服务器闭嘴之后自己也就闭耳了.--------客户端得知服务器不再提供数据,自己也就不再接收数据了.

关闭要四次的原因是,客户端虽然不再请求,但是可以继续接收,这两个状态可以分开接受,所以这里必须分成两个步骤.然后服务端也是同理.而握手的时候,客户端直接就发出了请求,少了一步确认的过程.

9.解析文件并渲染

"喂!请问是shyno先生吗?您的外卖已经到了,我已经帮你打开摆放到桌子上了,您放心食用!亲务必给个五星好评哦!"

哈哈!我怎么说的叫外卖去了?不过好像也差不多.额~~~~~~有点饿了!先去吃饭了.

转载于:https://www.cnblogs.com/Shyno/p/11066007.html

从输入url到页面展示出来经历了哪些过程相关推荐

  1. 浏览器相关(2)- 从输入url到页面展示发生了什么

    简单来讲,从输入url到页面展示总共经历以下九个过程: step1:输入地址 step2:浏览器查找域名的IP地址 step3:浏览器向web服务器发送一个HTTP请求 step4:服务器的永久重定向 ...

  2. 从输入URL到页面展示的详细过程

    其实从输入URL到页面展示在我们眼前所经历的过程其实还是非常复杂的,牵扯到的知识点也是非常的庞杂.其中很多知识都会有专门的学科去研究,所以这里只是简单地概括一下大致流程: 1.输入网址 2.DNS解析 ...

  3. 在浏览器里,从输入 URL 到页面展示,这中间发生了什么?-学习笔记

    参考来源:极客时间-李兵专栏 从图中可以看出,整个过程需要各个进程之间的配合,浏览器进程.渲染进程和网络进程的职责如下: 浏览器进程主要负责用户交互.子进程管理和文件储存等功能. 网络进程是面向渲染进 ...

  4. java 重定向到某个页面并弹出消息_前端面试100问之浏览器从输入URL到页面展示发生了什么...

    点击蓝字,关注我们 『浏览器从输入URL到页面渲染发生了什么』作为一个经典题目,在前端面试中高频出现,很多大厂的面试都会从这个面试题出发,考察候选人对知识的掌握程度,这其中涉及到了网络.操作系统.We ...

  5. 从输入 url 到页面展示到底发生了什么

    从输入 url 到页面展示到底发生了什么 查找缓存 DNS 域名解析 tcp 三次握手 tcp 四次挥手 html 渲染 查找缓存 检查浏览器缓存中有没有这个域名对应的解析过 ip 地址,如果缓存中有 ...

  6. 「高频面试题」浏览器从输入url到页面展示中间发生了什么

    作者:Hanpeng_Chen 公众号:前端极客技术 文章首发个人博客:「高频面试题」浏览器从输入url到页面展示中间发生了什么 | 代码视界 "在浏览器中,从输入URL到页面展示,中间发生 ...

  7. 页面渲染原理,从输入url到页面展示流程

    浏览器从url到页面展示到用户面前,到底发生了什么?这是一个很常见的前端面试问题,我结合自己的知识储备来谈一谈.首先,我认为该流程应该分为三部分,导航阶段.准备渲染阶段和渲染阶段. 导航阶段 首先浏览 ...

  8. 输入一个url到浏览器页面展示都经历了哪些过程

    在日常的浏览器访问过程中,我们肯定会访问n多页面,但是我们输入一个网址后是如何变成一个页面展示在我们面前,从一个url到页面的展示这个过程中,我们的浏览器都经历了一些什么? 步骤 → 1- 输入网址 ...

  9. html将页面分成三块_导航渲染流程你真的知道从输入URL到页面展示发生了什么吗?(内附思维导图)...

    导航渲染流程 通过这篇文章当你被问到从URL输入到页面展示都发生了什么的时候,基本都能对答如流,甚至可以一直深入的说,说到面试官闭麦哈哈哈~ 以下是本文的思维导图,直接拿图「点个赞」再走吧 ~ 求求了 ...

最新文章

  1. matlab简单程序实例_visual basic VB.NET实例系列教程第一节(简单实用抽奖程序)...
  2. CCNA200-120章节关系
  3. instance of 泛型
  4. 自底向上——知识图谱构建技术初探
  5. Linux基础命令(1)
  6. Bean放入Spring容器,你知道几种方式?
  7. [界面开发新秀]免费的AYUI,开发360领航版系列教程[2/40]
  8. java test 用法,pytest基本用法简介
  9. 【Spring】Spring中BeanPostProcessor
  10. 机器学习概念 —— 样本距离矩阵
  11. Introduction to Computer Networking学习笔记(二十二):TCP拥塞控制-基本方法 AIMD
  12. 快速在多个word文件里面检索到关键字
  13. 【theano-windows】学习笔记五——theano中张量部分函数
  14. Excel 文件格式解析
  15. 测试学习-123-Linux性能测试监控CPU内存脚本(极简清爽)
  16. LiveData的使用及详解
  17. MAC 中selenium、webdriver打开Chrome浏览器闪退问题(版本号一致)
  18. 关于一张出库单开具了多张发票的错误处理
  19. IT行业发展前景如何?揭秘2019年IT行业发展趋势
  20. html5 ajax 文件上传,html5+FormData 实现ajax文件上传

热门文章

  1. 2021安徽省大学生程序设计竞赛正式赛:D 持续攻击
  2. 推荐系统常用ETL工具、方法【35】
  3. 软件测试——缺陷密度、缺陷数据分析的重要性、缺陷数据分析的数据指标
  4. 【C/C++main函数返回值为空、return 0、return a的意义是什么】
  5. a标签跳转在新的窗口打开设置
  6. 打印PDF(打印外访单)
  7. qwt官方例子-CurveDome
  8. Android studio EditText如何设置下划线
  9. JavaCV实现byte[]转RTMP流
  10. 算法美学!从欧拉公式到傅里叶动画!