计算机网络——访问网站数据传输过程
如上图所示,当左边的个人电脑(IP地址假设为15.0.0.2,Mac地址假设为m4)申请访问一个网页的时候,需要向图中右边的服务器(IP地址假设为13.0.0.2,Mac地址为m1)发送申请,请求访问存储在服务器上的网页。
当申请访问请求到达服务器之后,服务器开始向个人电脑发送网页信息。一般来说,网页都比较大,可能是2M,4M或者更大,因为网站中有很多图片或者文字。因为网页蕴含的信息太多,数据太大,一个数据包(一个数据包最大传输的数据为1500字节)没办法把一个完整的网站传输过去,因此需要对网站信息进行切割,切割成一个数据包能够传输的大小,然后将切割的小数据包进行编号,发给个人电脑之后,个人电脑再按顺序进行拼接,最后进行展现。
如上图所示,将一个网站切割为8块,并且进行编号,以便于数据包进行传输。数据切割好之后需要往缓存中进行存储,准备发送。计算机中的网卡都有缓存(发送缓存和接收缓存),在个人电脑的客户端也有缓存。
现在服务器先将网页的前三个数据信息存到发送缓存中,准备发送,具体发送过程和前面博客介绍的一样,具体可以看这里。从发送缓存中发出去的数据包不能马上删除,因为在传输过程中有可能因为网络拥塞导致数据丢失,这时候需要重新发送。
那什么时候数据可以从发送缓存中进行删除呢?在客户端收到服务器发送的网站信息数据包之后,个人电脑客户端会发送一个数据包到服务器,和服务器进行确认,确认可以接着发第二个网站数据包吗,这个时候就可以把前面已经发送的数据包进行删除。如下如所示:
当发送缓存中的数据包删除之后,可以将网站数据包的剩余数据包缓存到发送缓存中,等待发送。
当个人电脑客户端接收到网站数据包后,例如用IE浏览器打开网页,网页的图片怎么展现呢?浏览器会从客户端的接收缓存中读取网页数据包,按标记数字进行整合。如下图所示:
有时候我们打开一个网站,当图片太大时,可以发现是先出现图片的一部分,然后再慢慢显示下面的部分,下面部分的信息会慢慢从缓存中读取然后进行拼接。
以上就是网页从服务器传送到客户端的整个过程。
计算机网络——访问网站数据传输过程相关推荐
- 浏览器访问网站的过程
浏览器访问网站的过程: 1.DNS解析: (1)为什么进行DNS解析? 域名解析是将域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务.对于网站来说,在经过域名解析这一流程后,网 ...
- 用户访问网站的原理及流程
打开浏览器输入网址回车,到看到页面的过程 大纲: 1.用户访问网站流程框架 2.DNS解析原理 ***** 3.tcp/ip三次握手原理 ***** 4.http协议原理(www服务的请求过程)请求报 ...
- HTTP访问一个网站的过程详解
访问一个网站的过程详解 例如访问:http://www.baidu.com HTTP请求的准备 浏览器会将www.baidu.com这个域名发送给DNS服务器,让它解析成IP地址.由于HTTP是基于T ...
- 用户访问一个网站的过程描述
描述从浏览器打开 http://www.baidu.com地址回车发送请求到看到页面的过程? 打开浏览器输入网址回车,到看到页面的过程 大纲: 1.用户访问网站流程框架 2.DNS解析原理 ***** ...
- 通过域名访问网站的原理过程
转自:http://www.cootem.com/web/465.html 学习建设网站或了解网站访问流程,我们应先了解网络(Web)基本的运作方式. 也就是从我们在浏览器中输入域名到浏览器显示页面, ...
- 网络基础 - 用户访问一个网站的过程的描述
网络基础 - 用户访问一个网站的过程的描述 1.当我们打开浏览器输入网址回车,到看到网页页面. 是一个非常复杂的过程,听我细细道来: DNS解析 大家都知道,计算机之间只能通过ip相互通信,因为ip ...
- 一名学生A希望访问网站www.google.com。学生A在其浏览器中输入http://www.google.com并按回车.....
一名学生A希望访问网站www.google.com.学生A在其浏览器中输入http://www.google.com并按回车,直到Google的网站首页显示在其浏览器中,请问: (1) 在此过程中,按 ...
- HTTPS 方式访问网站
IIS配置HTTPS服务的方法 https配置 2008年09月23日 星期二 下午 09:28 第一步:在IIS启动SSL 方法只要3步: 1. 下载 IIS 6.0 Resource Kit To ...
- 计算机网络(8) ——url-页面过程、DNS寻址、劫持专题
计算机网络(8) --url-页面过程.DNS寻址.劫持专题 文章目录 计算机网络(8) --url-页面过程.DNS寻址.劫持专题 1.浏览器输入url后经历的过程 2.DNS寻址/域名解析过程? ...
最新文章
- python遗传算法工具包_Deap: python中的遗传算法工具箱
- php setcookie使用变量,PHP setcookie() 函数
- 程序员最讨厌的100件事,瞬间笑喷了,哈哈~~
- SQL Server 2008 R2:快速清除日志文件的方法
- zoom 用户被锁定_重新考虑Zoom的用户体验
- 开源项目商业模式分析(2) - 持续维护的重要性 - Selenium和WatiN
- Java中对字符串的操作
- weak password
- 这是一个关于软件开发的博客。
- php-fpm安装包_linux下安装php php-fpm(转载)
- Win 10 下载与安装 Oracle 12c 详细图解 与 Oracle 12c 卸载
- 挑选了适合测试边界的汉字及截图
- Everything常见问题及搜索技巧
- matlab面源模式反扩散参数研究,基于GIS的大气点源污染高斯烟羽扩散模拟研究
- 使用iconfont阿里多色矢量图标
- jQuery从上手到飞天
- 服务器端身份验证技术,身份认证技术和协议的常用方法
- 自然语言处理nltk分词断句(2)
- 成功案例 | 助力贵州省国家税务局从VMware无缝迁移至国产化安超云平台
- 怎么使用漫画脸制作软件
热门文章
- Vue Router的详细教程
- 使用 lsof 代替 Mac OS X 中的 netstat 查看占用端口的程序
- Flyweight设计模式
- k3 cloud 文件服务器搭建,k3cloud服务器推荐配置
- 在linux系统中 环境变量是非常重要,【论述题】在UNIX/Linux系统中,环境变量是非常重要,在字符界面下试说明: 1 PATH 变量...
- 初学java小白的疑惑梳理
- 【Day09】JavaScript 为什么要区分微任务和宏任务
- 移动端web 禁止长按弹出的菜单 Safari
- C#LeetCode刷题之#707-设计链表(Design Linked List)
- freecodecamp_freeCodeCamp论坛的未来