![TCP、UDP以及HTTP的简单讲解](http://img.jiangsulong.com/220407/0952364625-0.jpg)
文章插图
先来一个讲TCP、UDP和HTTP关系的
1、TCP/IP是个协议组 , 可分为三个层次:网络层、传输层和应用层 。
在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议 。
在传输层中有TCP协议与UDP协议 。
在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议 。
因此 , HTTP本身就是一个协议 , 是从Web服务器传输超文本到本地浏览器的传送协议 。
TCP 是基于 TCP 协议实现的网络文本协议,属于传输层 。
UDP 是和TCP 对等的 , 属于传输层 , UDP 和 TCP 有重要的区别 。
2、HTTP协议是建立在请求/响应模型上的 。首先由客户建立一条与服务器的TCP链接 , 并发送一个请求到服务器 , 请求中包含请求方法、URI、协议版本以及相关的MIME样式的消息 。服务器响应一个状态行 , 包含消息的协议版本、一个成功和失败码以及相关的MIME式样的消息 。
HTTP/1.0为每一次HTTP的请求/响应建立一条新的TCP链接 , 因此一个包含html内容和图片的页面将需要建立多次的短期的TCP链接 。一次TCP链接的建立将需要3次握手 。
另外 , 为了获得适当的传输速度 , 则需要TCP花费额外的回路链接时间(RTT) 。每一次链接的建立需要这种经常性的开销 , 而其并不带有实际有用的数据 , 只是保证链接的可靠性 , 因此HTTP/1.1提出了可持续链接的实现方法 。HTTP/1.1将只建立一次TCP的链接而重复地使用它传输一系列的请求/响应消息 , 因此减少了链接建立的次数和经常性的链接开销 。
这里有必要再讲一下三次握手的过程:
第一次握手:建立连接时 , 客户端发送syn包(syn=j)到服务器 , 并进入SYN_SENT状态 , 等待服务器确认;SYN:同步序列编号(
推荐阅读
- Mac mini 2012完全拆解教程:双硬盘、换主板、换电源 一篇全搞定
- 华为三层交换机配置心得
- 人手必备!勒索病毒应急自救手册
- php三个函数、两种选择防止sql注入
- 火锅|教师招聘备考-技能的种类
- 价格较贵的土猪、土鸡、土鸡蛋,真的有营养吗?
- 透视金属3D打印的现状、挑战与下一步市场格局
- 苹果|苹果iOS 15.5首个公测版发布:小幅更新、开发全新内置应用
- 梦见和蛇大战把蛇杀死 梦见与凶猛的蛇搏斗、并杀死它们
- 俄罗斯|假扮俄罗斯美女攒200万粉账号被封 是个中国人:技术不能滥用、造假