台根DNS,根DNS服务器收到请求后会返回负责这个域名(.net)的服务器的一个IP,本地DNS服务器使用该IP信息联系负责.net域的这台服务器.这台负责.net域的服务器收到请求后,如果自己无法解析,会返回.net域的下一级DNS服务器地址(blog.csdn.com)给本地DNS服务器.以此类推,直至找到. 2.  TCP的三次握手 这个部分正好之前整理过,可以参考NetWork--关于TCP协议的三次握手和四次挥手. 3.  建立TCP连接后发起HTTP请求 TCP三次握手建立连接成功后…
a.一次完整的http请求过程 1.域名解析,得到域名对应的IP; 2.三次握手,客户端与服务器通过socket建立TCP/IP连接; 3.浏览器向服务器发送http请求,如:GET/index.html HTTP/1.1; 4.浏览器发送请求头信息,请求内容,最后会发送空白行,表示客户端请求完毕; 5.服务器处理请求:读取参数并进行逻辑操作后,生成指定的数据; 6.服务器做出应答,如:HTTP/1.1 200 OK(协议的版本号和应答状态码); 7.服务器发送应答头信息; 8.服务器发送数据:…
整个流程1.域名解析 —> 2.与服务器建立连接 —> 3.发起HTTP请求 —>4. 服务器响应HTTP请求,浏览器得到html代码 —> 5.浏览器解析html代码,并请求html代码中的资源(如js.css.图片) —> 6.浏览器对页面进行渲染呈现给用户 1. 域名解析 以Chrome浏览器为例: ① Chrome浏览器 会首先搜索浏览器自身的DNS缓存(缓存时间比较短,大概只有1分钟,且只能容纳1000条缓存),看自身的缓存中是否有https://www.cnblo…
一次完整的HTTP请求过程从TCP三次握手建立连接成功后开始,客户端按照指定的格式开始向服务端发送HTTP请求,服务端接收请求后,解析HTTP请求,处理完业务逻辑,最后返回一个HTTP的响应给客户端,HTTP的响应内容同样有标准的格式.无论是什么客户端或者是什么服务端,大家只要按照HTTP的协议标准来实现的话,那么它一定是通用的. HTTP 请求格式 HTTP请求格式主要有四部分组成,分别是:请求行.请求头.空行.消息体,每部分内容占一行     1 2 3 4 5 6 <request-lin…
在浏览器中输入URL后,执行的全部过程.会用到哪些协议?(一次完整的HTTP请求过程) 整个流程如下: 域名解析 为了将消息从你的PC上传到服务器上,需要用到IP协议.ARP协议和OSPF协议. 发起TCP的三次握手 建立TCP连接后发起HTTP请求 服务器响应HTTP请求 浏览器解析html代码,并请求HTML代码中的资源(如js.css.图片等) 断开TCP连接 浏览器对页面进行渲染呈现给用户 域名解析 比如要查询www.baidu.com的IP地址: 1.浏览器搜索自己的DNS缓存(维护一…
前言 之前我们结合设计模式简单说了下OkHttp的大体流程,今天就继续说说它的核心部分--拦截器. 因为拦截器组成的链其实是完成了网络通信的整个流程,所以我们今天就从这个角度说说各拦截器的功能. 首先,做一下简单回顾,从getResponseWithInterceptorChain方法开始. 简单回顾(getResponseWithInterceptorChain) internal fun getResponseWithInterceptorChain(): Response { // Bui…
0.  前言 从我们在浏览器的地址栏输入http://blog.csdn.net/seu_calvin后回车,到我们看到该博客的主页,这中间经历了什么呢?简单地回答这个问题,大概是经历了域名解析.TCP的三次握手.建立TCP连接后发起HTTP请求.服务器响应HTTP请求.浏览器解析html代码,同时请求html代码中的资源(如js.css.图片等).最后浏览器对页面进行渲染并呈现给用户.下面分别介绍一下每个过程. 1.  域名解析 以Chrome浏览器为例,Chrome会解析域名对应的IP地址.…
转载:https://blog.51cto.com/linux5588/1351007 当我们在浏览器的地址栏输入 www.linux178.com,然后回车,回车这一瞬间到看到页面到底发生了什么呢? 以下过程仅是个人理解: 域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js.css.图片等) --> 浏览器对页面进行渲染呈…
1.在浏览器中输入www.baidu.com 这意味着浏览器要向百度发送一个网页数据包,要发送数据包,需要知道对方的IP地址,这里我们只知道网址为www.baidu.com,却不知道IP地址,此时应用层协议DNS协议会帮我们把网址解析为IP地址,此时会发送一个DNS数据包给DNS服务器,DNS服务器再做出响应来告诉我们百度的IP地址为220.181.111.147,这样我们就知道百度(我们需要通信的主机)的IP地址. DNS查找过程如下:(参考来源:DNS域名解析过程) 第1步,浏览器会检查缓存…
当我们在浏览器的地址栏输入 www.linux178.com ,然后回车,回车这一瞬间到看到页面到底发生了什么呢? 以下过程仅是个人理解: 域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js.css.图片等) --> 浏览器对页面进行渲染呈现给用户 关于HTTP协议可以参考以下: HTTP协议漫谈  http://kb.cn…