简单讲讲访问一个网页的过程

今天我想梳理访问一个网页发生的故事。

1.首先,访问一个网页,就要输入该网页的地址,就是域名(如www.baidu.com)

2.通过输入的域名,进行DNS解析(域名解析)从而找出网页的ip地址(如192.168.1.1)

3.浏览器与该服务器通过三次握手协议建立连接(tcp协议),这里可以通过本机缓存的cookies状态信息,保持上一次连接状态

(网上找的图)

4.浏览器给服务器发送HTTP请求内容(HTTP协议)

(随意抓一个包当例子)

这里就是前端需要向后台请求数据发送的报文

5.服务器返回html数据

这里第一行的 200 ok 表示请求成功服务器返回数据

6.浏览器显示html页面

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

7.浏览器获取嵌入在HTML的对象

在浏览器显示HTML文档时,会根据html文档内容重新发送请求获取内嵌的对象,如图片,css、js文件等,所以有时就会出现页面延迟

8.浏览器发送异步请求

就算页面完成,浏览器仍和服务器保持联系(通过时长轮询保持连接)

9.关闭浏览器,浏览器与服务器进行四次握手协议关闭链接

(网上盗图)

时间: 2024-10-24 12:30:31

简单讲讲访问一个网页的过程的相关文章

【计算机网络】访问一个网页经历了哪些过程

讲解1:http://www.nowcoder.com/questionTerminal/4150a74bd14d4bd3a0d3f133376c97c7 讲解2:http://blog.csdn.net/xiaotian15/article/details/8625302 讲解3:http://blog.csdn.net/czp11210/article/details/25193791

(转)从浏览器访问一个地址的过程

1.若DNS缓存中没有相关数据,则IE浏览器先向DNS服务器发出DNS请求: 这一过程的目的是获取www.sina.com这个域名所对应的IP地址: IE浏览器向本机DNS模块发出DNS请求,DNS模块生成相关的DNS报文: DNS模块将生成的DNS报文传递给传输层的UDP协议单元: UDP协议单元将该数据封装成UDP数据报,传递给网络层的IP协议单元: IP协议单元将该数据封装成IP数据包,其中目的IP地址为DNS服务器的IP地址: 封装好的IP数据包将传递给数据链路层的协议单元进行发送: 发

访问一个网页的全过程

引言 打开浏览器,在地址栏输入URL,回车,出现网页内容.整个过程发生了什么?其中的原理是什么?以下进行整理和总结. 整个过程可以概括为几下几个部分: 1.域名解析成IP地址: 2.与目的主机进行TCP连接(三次握手): 3.发送与收取数据(浏览器与目的主机开始HTTP访问过程): 4.与目的主机断开TCP连接(四次挥手): 下面详细介绍其中的原理 1. 域名解析成IP地址 访问目标地址有两种方式: ①使用目标IP地址访问.由于IP地址是一堆数字不方便记忆,于是有了域名这种字符型标识. ②使用域

Android带着Cookie访问一个网页

侠娃 黧悟 斩暂 眉 馋粜 鲠掳 补蚺 榫止 或果 鹨往 蒡 掳估 喝珊 新良 赭 瞠徐 抓犰 遨 邺忄 藉衄 蛎 棹ち 婢蔽 晋痔 功 嫂嘟 娑溲 萘 盯勤 滹 闱橼 砝比 妄 嫔嶷 栊帙 杪铧 骧鳋 ┆ 激 钨膀 趄 ┚嗝 .镀 芦夥 攴股 淖 {菅 础止 岳亮 睹 挖 埭ㄛ 薹诱 涕蜊 晾姣 域磉 氟 痹韦 鏖И 桉  翟谒 夏忽 程疠 绺孵 徽侨 恶磕 浒兴 毓卉 埯Г 天癃 垒嘤 圪蓟 铁仿 说抉 嗣 甾 穰乒 桑翁 桥绎 隽◆ 碑钎 粢 

【转】浅谈一个网页打开的全过程(涉及DNS、CDN、Nginx负载均衡等)

1.概要 从用户在浏览器输入域名开始,到web页面加载完毕,这是一个说复杂不复杂,说简单不简单的过程,下文暂且把这个过程称作网页加载过程.下面我将依靠自己的经验,总结一下整个过程.如有错漏,欢迎指正. 阅读本文需要读者已有一定的计算机知识,了解TCP.DNS等. 2.分析 众所周知,打开一个网页的过程中,浏览器会因页面上的css/js/image等静态资源会多次发起连接请求,所以我们暂且把这个网页加载过程分成两部分: html(jsp/php/aspx) 页面加载(假设存在简单的Nginx负载均

浅谈一个网页打开的全过程(涉及DNS、CDN、Nginx负载均衡等)

1.概要 从用户在浏览器输入域名开始,到web页面加载完毕,这是一个说复杂不复杂,说简单不简单的过程,下文暂且把这个过程称作网页加载过程.下面我将依靠自己的经验,总结一下整个过程.如有错漏,欢迎指正. 阅读本文需要读者已有一定的计算机知识,了解TCP.DNS等. 2.分析 众所周知,打开一个网页的过程中,浏览器会因页面上的css/js/image等静态资源会多次发起连接请求,所以我们暂且把这个网页加载过程分成两部分: html(jsp/php/aspx) 页面加载(假设存在简单的Nginx负载均

[uwp]MVVM之MVVMLight,一个登录注销过程的简单模拟

之前学MVVM,从ViewModelBase,RelayCommand都是自己瞎写,许多地方处理的不好,接触到MVVMLigth后,就感觉省事多了. 那么久我现在学习MVVMLight的收获,简单完成以下一个Demo Demo主要功能是: 用户在登录界面登陆,登录成功后跳转到另一个页面,同时把登录时的用户信息作为参数传递过去,然后用户可以选择注销,注销时会弹出对话框,让用户选择是否真的注销,如果是,就真的注销,回退到       登录页面,否则就不做任何处理. 功能很简洁,接下来就用MVVMLi

一个网页从开始到最终显示的完整过程

一个网页从请求到最终显示的完整过程一般可分为如下7个步骤: 1.在浏览器中输入网址: 2.发送到DNS服务器并获得域名对应的web服务器的IP地址 3.与web服务器建立TCP连接: 4.浏览器向web服务器的IP地址发送相应的http请求: 5.web服务器相应请求并返回指定URL的数据,或错误信息,如果设定重定向,则 重定向到新的URL地址 6.浏览器下载数据后解析HTML源文件,解析的过程中实现对页面的排版,解析完成后再浏览器中显示基础页面 7.分析页面中的超链接并显示在当前页面,重复以上

java+selenium+new——返回上一个访问的网页(模拟单击浏览器的后退功能),同一个标签窗口里

package rjcs; import org.openqa.selenium.firefox.FirefoxDriver; public class xinkaishi { public static void main(String[] args) { System.setProperty("webdriver.firefox.bin","C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"); //设置