介绍HTTP协议的传输过程
1.HTTP是面向事物的应用层协议,它使用TCP连接进行可靠传输,服务器默认监听在80端口
2.服务流程
从协议执行过程来说,当浏览器要访问www服务器时,首先要对服务器进行域名解析(DNS协议)。一旦建立获得IP地址,浏览器要通过TCP三次握手和服务器建立连接[1]。每个服务器都有一个服务进程,它不断监听TCP端口号80,当监听到浏览器请求后便和浏览器建立连接。TCP连接建立后,浏览器就向服务器发送某个HTTP请求。如localhost/test/index.jsp 。服务器收到请求后,将构建的服务页面返回给浏览器,浏览器对信息进行解释后,返回给客户[2]。
【1】什么是TCP三次握手?四次挥手
TCP建立连接时需要进行TCP三次握手,释放连接时需要TCP四次挥手。首先,客户端需要发送请求建立数据包,其中SYN=1,假设包的数据字段序号seq=n,然后服务器需要发确认连接数据包,SYN=1(SYNb标志位置1),ACK=1,ack = n+1,数据字段起始序号seq假设m,最后,客户端也发送确认连接数据包,ACK=1,ack = m+1,seq=n+1。
TCP释放连接的四次挥手:客户端主动发送请求释放连接数据包:FIN=1,seq=u,服务器端发送确认释放连接数据包:FIN = 1,seq = v,ack = u+1,此时,客户端到服务器端的连接以经释放,服务器端不在接受客户端的数据,当服务器端不在给客户端发送数据时,服务器端请求释放数据包:FIN = 1,seq = w,ACK = 1,ack = u+1,客户端发送确认释放连接数据包:ACK = 1,ack = w+1,seq=u+1
【2】请求进入服务器端中的容器中是如何被处理的?

描述:
1、用户点击网页内容,请求被发送到本机端口8080,被在那里监听的Coyote HTTP/1.1 Connector获得。 2、Connector把该请求交给它所在的Service的Engine来处理,并等待Engine的回应。 3、Engine获得请求localhost/test/index.jsp,匹配所有的虚拟主机Host。 4、(容器先解析请求的虚拟主机host,然后在主机中解析请求,匹配上下文)engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机),名为localhost的Host获得请求/test/index.jsp,匹配它所拥有的所有的Context。Host匹配到路径为/test的Context(如果匹配不到就把该请求交给路径名为“ ”的Context去处理)。 5、path=“/test”的Context获得请求/index.jsp,在它的mapping table中寻找出对应的Servlet。Context匹配到URL PATTERN为*.jsp的Servlet,对应于JspServlet类。 6、构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet()或doPost().执行业务逻辑、数据存储等程序。 7、Context把执行完之后的HttpServletResponse对象返回给Host。 8、Host把HttpServletResponse对象返回给Engine。 9、Engine把HttpServletResponse对象返回Connector。 10、Connector把HttpServletResponse对象返回给客户Browser。
介绍HTTP协议的传输过程的更多相关文章
- 【高速接口-RapidIO】3、RapidIO串行物理层的包传输过程
一.引言 前几篇文章已经谈到RapidIO的协议,串行物理层与控制符号. RapidIO协议包括读事务(NREAD),写事务(NWRITE),流写事务(SWRITE),有响应的写事务(NWRITE_R ...
- 3.RapidIO串行物理层的包传输过程
转自https://www.cnblogs.com/liujinggang/p/10005431.html 一.引言 前几篇文章已经谈到RapidIO的协议,串行物理层与控制符号. RapidIO协议 ...
- SSL协议的握手过程(摘录)
SSL协议的握手过程 为了便于更好的认识和理解 SSL 协议,这里着重介绍 SSL 协议的握手协议.SSL 协议既用到了公钥加密技术(非对称加密)又用到了对称加密技术,SSL对传输内容的加密是采用的对 ...
- SSL协议之数据加密过程详解
前言 总括: 原文博客地址:SSL协议之数据加密过程详解 知乎专栏&&简书专题:前端进击者(知乎)&&前端进击者(简书) 博主博客地址:Damonare的个人博客 生活 ...
- 网络学习day02_OSI七层模型及数据的传输过程
title: 2018.9.2 OSI七层模型及数据的传输过程 tags: 计算机网络, OSI七层模型, 数据传输, 数据解封装 --- OSI七层模型和TCP/IP五层模型 OSI七层模型 我们说 ...
- 从网卡发送数据再谈TCP/IP协议—网络传输速度计算-网卡构造
在<在深谈TCP/IP三步握手&四步挥手原理及衍生问题—长文解剖IP>里面提到 单个TCP包每次打包1448字节的数据进行发送(以太网Ethernet最大的数据帧是1518字节,以 ...
- [转帖]IP /TCP协议及握手过程和数据包格式中级详解
IP /TCP协议及握手过程和数据包格式中级详解 https://www.toutiao.com/a6665292902458982926/ 写的挺好的 其实 一直没闹明白 网络好 广播地址 还有 网 ...
- TCP数据的传输过程(十)
建立连接后,两台主机就可以相互传输数据了.如下图所示: 上图给出了主机A分2次(分2个数据包)向主机B传递200字节的过程.首先,主机A通过1个数据包发送100个字节的数据,数据包的 Seq 号设置为 ...
- 浅谈HTTPS传输过程
HTTPS是什么 HTTPS不是一个新的协议,可以理解为是一个HTTP协议的加密"版本"(HTTP+SSL(TLS)).那为什么HTTP协议需要加密,不加密会出现什么问题呢?先来了 ...
随机推荐
- 查看python版本
1.未进入python shell python --version 2.进入python shell,有两种方法 (1) help() (2) import sys sys.version
- 山西WebGIS项目总结
有一段时间没写blog了,说实话,最近的心态一直在变化,看了一部日剧,回想了这一年所学所见,感觉生活目标变了. 做国土项目这段时间不是很忙,由于数据一直给不到位,时间拖得很久,所以在这期间也在继续学习 ...
- 03LaTeX学习系列之---TeXworks的使用
目录 03TeXworks的使用 目录 前言 (一)Texworks的认识 1.TeXworks的安装 2.TeXworks的优点 3.TeXworks的界面 (二)Texworks的编译与查看 1. ...
- 无根树的计数——prufer序列
参考博客https://www.cnblogs.com/dirge/p/5503289.html (1)prufer数列是一种无根树的编码表示,类似于hash. 一棵n个节点带编号的无根树,对应唯一串 ...
- django知识点回顾(上)
Django---知识点: 1. 配置文件: media: avatar = models.FileField(upload_to='avatar')#数据库里的model MEDIA_ROOT=os ...
- CPU的内部架构和工作原理-原文
CPU从逻辑上可以划分成3个模块,分别是.和,这三部分由CPU内部总线连接起来.如下所示: 控制单元:控制单元是整个CPU的指挥控制中心,由指令寄存器IR(Instruction Register). ...
- HTTP 请求方法
一.HTTP中定义了以下几种请求方法: 1.GET:2.POST:3.PUT:4.DELETE; 5.HEAD:6.TRACE:7.OPTIONS: 二.各个方法介绍: 1.GET方法: 对这个资源的 ...
- LCA树上倍增
LCA就是最近公共祖先,比如 节点10和11的LCA就是8,9和3的LCA就是3. 我们这里讲一下用树上倍增来求LCA. 大家都可以写出暴力解法,两个节点依次一步一步往上爬,直到爬到了相同的一个节点. ...
- Spark算子讲解(二)
1:glom def glom(): RDD[Array[T]] 将原RDD的元素收集到一个数组,创建一个数组类型的RDD 2:getNumPartitions final def getNumPar ...
- 如何在自己设计的页面中调用metamask-2
参考: 1)https://www.colabug.com/3204345.html 2)https://www.toptal.com/ethereum/one-click-login-flows-a ...