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

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. cocos2d js ClippingNode 制作标题闪亮特效

    1.效果图: 之前在<Android 高仿 IOS7 IPhone 解锁 Slide To Unlock>中制作了文字上闪亮移动的效果,这次我们来看下怎样在cocos2d js 中做出类似 ...

  2. 逆波兰法求解数学表达示(C++)

    主要是栈的应用,里面有两个函数deleteSpace(),stringToDouble()在我还有一篇博客其中:对string的一些扩展函数. 本程序仅仅是主要的功能实现,没有差错控制. #inclu ...

  3. Hilbert曲线简单介绍及生成算法

    Hilbert曲线 Hilbert曲线是一种填充曲线,相似的填充曲线还包含Z曲线.格雷码等其它方法.Hilbert曲线根据自身空间填充曲线的特性,能够线性地贯穿二维或者更高维度每一个离散单元.而且只穿 ...

  4. &quot;Hello World &quot; —— 深入理解程序从编译到执行

    对于C语言编写的Hello World程序(例如以下).对于程序猿来说肯定如雷贯耳,就是这样一个简单的程序,你真的了解她吗? #include <stdio.h> int main() { ...

  5. linux openssl 编程 Client端

    相关配置等请參看上一篇关于server端文章:http://blog.csdn.net/pingd/article/details/47805349 1.Client端源代码: openssl_cli ...

  6. CON1023 明明的计划

    比赛说明 邀请码:a08f 来源:自出 描述:无 难度:NOIP提高组day1 赛时答疑:私信询问 奖励:无 试题列表 赛题 #A:数学题赛题 #B:明明泡妹子赛题 #C:明明去酒店 U5012 数学 ...

  7. Nginx1.6 for centos6.5安装

    Nginx 学习文档:http://www.cnblogs.com/zhoulf/archive/2013/02/09/2909653.html 下载地址:http://nginx.org/en/do ...

  8. C# winform listBox中的项上下移动(转)

    C# winform listBox中的项上下移动 分类: C# winform2009-06-24 12:37 876人阅读 评论(0) 收藏 举报 winformc#object //上移节点   ...

  9. B1295 [SCOI2009]最长距离 最短路

    就是一道最短路的裸题,直接跑spfa就行了.(spfa死了) 最后在答案处判断是否障碍物太多,然后就直接找最大值就行. (数据特别水,我错误算法60) 题干: Description windy有一块 ...

  10. NOIP2013--火柴排队(树状数组)

    转载: 树状数组,具体的说是 离散化+树状数组.这也是学习树状数组的第一题. 算法的大体流程就是: 1.先对输入的数组离散化,使得各个元素比较接近,而不是离散的, 2.接着,运用树状数组的标准操作来累 ...