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

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先生吗?您的外卖已经到了,我已经帮你打开摆放到桌子上了,您放心食用!亲务必给个五星好评哦!"

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

从输入url到页面展示出来经历了哪些过程的更多相关文章

  1. 前端回答从输入URL到页面展示都经历了些什么

    浏览器和服务器涉及大量网络通信内容,此处做了弱化介绍,作为前端主要关注第四部分.一. 网络环境保障我们先假定我们访问的URL为www.abc.com并且地址不在局域网内:首先我们所处的局域网的总路由应 ...

  2. 从输入 URL 到页面展示,这中间发生了什么?

    当面试官问到,请你说说看"从输入 URL 到页面展示,这中间发生了什么?" 以前的我是这样回答的: 用户输入URL后,向服务器端发起请求.如果顺利,得到网络响应之后,浏览器对资源进 ...

  3. 【原】老生常谈-从输入url到页面展示到底发生了什么

    刚开始写这篇文章还是挺纠结的,因为网上搜索“从输入url到页面展示到底发生了什么”,你可以搜到一大堆的资料.而且面试这道题基本是必考题,二月份面试的时候,虽然知道这个过程发生了什么,不过当面试官一步步 ...

  4. 【转】老生常谈-从输入url到页面展示到底发生了什么

    今天看到了一篇很详细地解释了从输入url到页面展示过程的文章,好文章不能错过,所以转到自己这里来了. 原文地址:老生常谈-从输入url到页面展示到底发生了什么 以下为原文: 刚开始写这篇文章还是挺纠结 ...

  5. (转)老生常谈-从输入url到页面展示到底发生了什么

    刚开始写这篇文章还是挺纠结的,因为网上搜索"从输入url到页面展示到底发生了什么",你可以搜到一大堆的资料.而且面试这道题基本是必考题,二月份面试的时候,虽然知道这个过程发生了什么 ...

  6. 转载--从输入URL到页面展示到底发生了什么

    最近我也在看http协议, tcp相关知识, 在吃饭时无意看到来一篇文章讲解“从输入URL到页面展示到底发生了什么”, 细细看完, 很值得回味, 所以转载, 以供日后在温习. (PS, 作者这篇文章发 ...

  7. 《浏览器工作原理与实践》<04>从输入URL到页面展示,这中间发生了什么?

    “在浏览器里,从输入 URL 到页面展示,这中间发生了什么? ”这是一道经典的面试题,能比较全面地考察应聘者知识的掌握程度,其中涉及到了网络.操作系统.Web 等一系列的知识. 在面试应聘者时也必问这 ...

  8. 从输入 URL 到页面展示,到底发生了什么

    从输入 URL 到页面展示,到底发生了什么 1.输入URL 当我们开始在浏览器中输入网址的时候,浏览器其实就已经在智能的匹配可能得 url 了,他会从历史记录,书签等地方,找到已经输入的字符串可能对应 ...

  9. 从输入URL到页面展示,这中间都发生了什么?

    前言 在浏览器里,从用户输入URL到页面展示,这中间都发生了什么?这是一道非常经典的面试题.这里边涉及很多知识点,比如:网络协议.页面渲染.操作系统等.所以这是很好很全面的考察一个前端的知识.下面我将 ...

随机推荐

  1. 清北学堂模拟赛d2t2 位运算2(bit)

    题目描述LYK拥有一个十进制的数N.它赋予了N一个新的意义:不考虑N的符号,将N每一位都拆开来后再加起来就是N所拥有的价值.例如数字123拥有6的价值,数字999拥有27的价值,数字-233拥有8的价 ...

  2. PatentTips - Indexes of graphics processing objects in GPU commands

    BACKGROUND A graphics processing unit (GPU) is a specialized electronic device that is specifically ...

  3. nyoj_114_某种序列_201403161700

    某种序列 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 数列A满足An = An-1 + An-2 + An-3, n >= 3 编写程序,给定A0, A1 ...

  4. N天学习一个linux命令之ssh

    用途 通过加密连接,远程登录主机和在远程主机执行命令,也可以用于转发x11和tcp,也可用于搭建VPN.第一次连接时,会弹出远程主机公钥指纹确认信息,通过这个方式防止中间人攻击. 用法 ssh [op ...

  5. 相克军_Oracle体系_随堂笔记 PPT

    http://www.cnblogs.com/jyzhao/category/581259.html http://download.csdn.net/detail/yzj149286454/8960 ...

  6. NLS_NCHAR_CHARACTERSET 和 NLS_CHARACTERSET

    SQL> select * from nls_database_parameters; PARAMETER VALUE ------------------------------------- ...

  7. poj 1068 Parencodings(模拟)

    转载请注明出处:viewmode=contents">http://blog.csdn.net/u012860063?viewmode=contents 题目链接:http://poj ...

  8. job调度时间格式

    */5 * * * * ?---------------每隔5秒执行一次0 */1 * * * ?---------------每隔1分钟执行一次0 0 23 * * ?--------------- ...

  9. luogu1081 开车旅行 树上倍增

    题目大意 小A和小B决定利用假期外出旅行,他们将想去的城市从1到N编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市i 的海拔高度为Hi,城市i 和城市j 之间的距离 ...

  10. Linux下使用popen()执行shell命令【转】

    本文转载自:https://my.oschina.net/u/727148/blog/262987 函数原型: #include “stdio.h” FILE popen( const char co ...