学习:浏览器访问网站的总流程

个人理解,有错误麻烦纠正下!

主机A打开浏览器进行访问www.baidu.com的流程如下:

第一步:主机A访问www.baidu.com,那么肯定需要知道www.baidu.com的IP地址,原来肯定是不知道的

第二步:找的优先级是先WINDOWS缓存 > HOSTS文件 > DNS服务,如果都没找到,那么就会去请求本地DNS服务器,这里自己的本地DNS服务器如下:电信

第三步:想要请求本地DNS服务器,那么就需要出网关,那么就需要先知道网关的MAC的地址,用来封装链路层用的

回复包:

第四步:知道了网关的MAC地址之后,就会把请求DNS服务器的消息发送给网关

注意点:DNS的请求来回数据包中IP协议封装源IP是主机A,目的IP是本地服务器的IP,但是链路层中目的MAC地址是网关的MAC地址

第五步:默认的网关具有数据转发的能力大家都知道的,它会把数据转发给网络上的路由器,路由器会帮你选择一个最适合的路径来转发到你要请求的DNS服务器上,DNS服务器会先检查自己的缓存中是否有保存你要访问的www.baidu.com,当然我这个是运营商的服务器那肯定有的,如果没有的话就会进行递归查询迭代查询,查到了之后呢就会把数据根据IP协议中的源目IP和UDP协议中的源目端口进行返回发送客户端。

第六步:主机A得到了www.baidu.com的IP之后,就准备通信,然后就开始跟百度IP建立TCP协议的三次握手

第七步:顺便提下HTTP是一个无状态的面向连接的协议,然后主机A再通过HTTP协议请求www.baidu.com,百度的服务器收到请求后,一层层解析到应用层,发送给WEB服务的服务器进行处理加工,再返回给主机A,然后主机A的浏览器解收到数据后,再通过对页面的渲染,渲染呢,实际上就是先解析HTML标签,然后CSS渲染,再js也同样解析,所谓的XSS实际上也就是当js脚本代码被JS解析器解析了的非法代码。

第八步:最后TCP的四次挥手结束!

原文地址:https://www.cnblogs.com/zpchcbd/p/12293399.html

时间: 2024-08-22 11:27:19

学习:浏览器访问网站的总流程的相关文章

用户访问网站的完整流程

在浏览器输入想要访问的域名之后,浏览器会进行域名解析获得IP地址,在经过TCP的连接,实现数据的传输就会有两种报文,及请求报文和响应报文.最终才能实现通信.因此想要实现通信,就得先弄懂DNS的解析原理以及TCP连接通道的流程. 理论内容: 1.DNS的介绍以及原理 2.TCP/IP协议的介绍和三次握手及四次挥手 3.HTTP协议的介绍及请求与响应报文 4.用户访问浏览器的完整过程 1.DNS的介绍及解析原理 1)说说DNS是什么: DNS(Domain Name System,域名系统),因特网

用户访问网站的基本流程

用户从浏览器里输入网站地址,到看到网站的完整流程: 第一步:用户在浏览器输入https://ke.qq.com/course/28714 网站地址,回车会,系统首先会查询本地的DNS缓存及hosts文件信息,确定是否需存在https://ke.qq.com/course/28714 对应的IP解析记录,如果有就直接获取地址,然后去访问这个IP对应的域名www.ke.qq.com的服务器并找到https://ke.qq.com/course/28714. 第二步:如果客户端本地DNS缓存及host

浏览器访问网站的过程

前言 当我们在浏览器中输入一个网址,比如www.百度.com,浏览器就会加载出百度的主页.那么浏览器背后完成的具体是怎么样的呢?总结起来大概的流程是这样的: (1)浏览器本身是一个客户端,当你输入URL的时候,首先浏览器会去请求DNS服务器,通过DNS获取相应的域名对应的IP (2)然后通过IP地址找到IP对应的服务器后,要求建立TCP连接 (3)浏览器发送完HTTP Request(请求)包后,服务器接收到请求包之后才开始处理请求包 (4)在服务器收到请求之后,服务器调用自身服务,返回HTTP

21个国外受欢迎的学习编程的网站:总有一个理由会让你爱上它们

世界每天都在变化,不断有新技术和知识涌现,渗透在各个领域.人类对知识的渴求,探索和学习也从来没有停止过.我们得感谢科技的进步,例如互联网的出现,令我们了解新事物或学习新技术和知识时变得更方便了,仿佛为我们打开了通往世界各地的一扇门,让我们可以随时随地了解最新的资讯. Kristyna Z.,她是Maqtoob.com的 CEO及创业者顾问,在她最近发表的一篇博客(44 New Cool Websites and Apps to Learn Something New)中,分享了目前44个很优秀且

java 实现模拟浏览器 访问网站

一般的情况下我们都是使用IE或者Navigator浏览器来访问一个WEB服务器,用来浏览页面查看信息或者提交一些数据等等.所访问的这些页面 有的仅仅是一些普通的页面,有的需要用户登录后方可使用,或者需要认证以及是一些通过加密方式传输,例如HTTPS.目前我们使用的浏览器处理这些情况都 不会构成问题.不过你可能在某些时候需要通过程序来访问这样的一些页面,比如从别人的网页中“偷”一些数据:利用某些站点提供的页面来完成某种功能,例如 说我们想知道某个手机号码的归属地而我们自己又没有这样的数据,因此只好

火狐浏览器访问网站出现 HTTP Error 400. The request is badly formed.错误,怎么解决

今天在访问某个网站时,出现一个"HTTP Error 400. The request is badly formed."错误, 那么应该如何解决呢? 1.问题描述: 用火狐浏览网站出现""HTTP Error 400. The request is badly formed."错误 2.问题原因: Http error 400错误请求,是客户端问题,跟服务器没关系(也就是本地出问题了) 3.解决方法: 通过清理垃圾.清洁注册表,或检查广告拦截模块及防火墙

用户通过CDN访问网站的基本流程

user通过CDN访问的过程: 1.用户(北京)向本地DNS请求域名www.etiantian.org对应的IP 2.LDNS没有域名etiantian.org对应IP的记录,就再去请求网站www.etiantian.org的授权DNS 3.然后授权DNS会给LDNS返回域名CNAME www.a.cc.net 4.LDNS拿到CNAME的域名www.a.cc.net并去请求SSR系统FDNS下的cc.net域www.a.cc.net对应IP 5.CC.net域返回LDNS www.a.cc.n

浏览器访问网站过程

1.连接 当我们输入这样一个请求时,首先要建立一个socket连接,因为socket是通过ip和端口建立的,所以之前还有一个DNS解析过程,把http://www.baidu.com/变成ip,如果url里不包含端口号,则会使用该协议的默认端口号.DNS的过程是这样的:首先我们知道我们本地的机器上在配置网络时都会填写DNS,这样本机就会把这个url发给这个配置的DNS服务器,如果能够找到相 应的url则返回其ip,否则该DNS将继续将该解析请求发送给上级DNS,整个DNS可以看做是一个树状结构,

黄聪:wordpress如何携带cookie模拟浏览器访问网站

$args = array( 'user-agent' => 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36', 'headers' => array( 'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q