TCP、HTTP详解
TCP和HTTP
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,采用三次握手建立连接,四次挥手终止连接。
TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去,服务器和客户端均可主动发起断开连接的请求。
HTTP(Hypertext Transfer Protocol,超文本传送协议),是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准,HTTP协议是建立在TCP协议之上的一种应用。
HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为”一次连接”。
- HTTP 1.0中,客户端的每次请求都要建立一次单独的连接,在处理完本次请求后,就自动释放连接
- HTTP 1.1中,可在一次连接中处理多个请求,且可重叠发送请求(无需等待一个请求结果返回后再发送下一个请求)
TCP是传输层协议,定义数据传输和连接方式的规范
HTTP是应用层协议,定义传输数据的内容的规范
HTTP协议基于TCP协议,所以支持HTTP也就一定支持TCP
TCP三次握手(建立连接)
- 第一次握手:客户端向服务器发送SYN(
seq=j
)包到服务器; - 第二次握手:服务器收到SYN包,向客户端发送ACK包(
ack=j+1
)和SYN包(seq=k
); - 第三次握手:客户端收到SYN+ACK包,向服务器发送ACK包(
ack=k+1
),完成三次握手。
SYN
:(Synchronize Sequence Numbers
,同步序列编号)
ACK
:(Acknowledgement Number
,确认编号)
FIN
:结束标志
TCP四次挥手(终止连接)
- 第一次挥手:客户端向服务器发送FIN包(
seq=j
),关闭客户到服务器的数据传送; - 第二次挥手:服务器收到FIN包,向客户端发送ACK包(
ack=j+1
); - 第三次挥手:服务器向客户端发送FIN包(
seq=k
); - 第四次挥手:客户端收到FIN包,向客户端发送ACK包(
ack=k+1
),完成四次挥手。
为什么TCP连接是3次而终止是4次
连接时,服务端收到SYN后,把ACK和SYN一起打包回发给客户端,只有3次。
终止时,由于TCP连接是全双工的,每个方向都必须单独进行关闭,即FIN和ACK是分开发送的,所以有4次。
当一方完成它的数据发送任务后,发送一个FIN来终止连接。但收到一个FIN只表示对方没有数据发送,而己方仍能发送数据。因此必须单独关闭。
TCP、HTTP详解相关推荐
- TCP/IP详解学习笔记(9)-TCP协议概述
终于看到了TCP协议,这是TCP/IP详解里面最重要也是最精彩的部分,要花大力气来读.前面的TFTP和BOOTP都是一些简单的协议,就不写笔记了,写起来也没啥东西. TCP和UDP处在同一层---运输 ...
- 《TCP/IP详解卷1:协议》第6章 ICMP:Internet控制报文协议-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- IPv6时代的《TCP/IP详解》!
点击我,试试看吧! 点击我,试试看吧! ...
- TCP/IP详解--第十七章
第17章 TCP:传输控制协议 17.1 引言 本章将介绍 TCP为应用层提供的服务,以及 TCP首部中的各个字段.随后的几章我们在了 解TCP的工作过程中将对这些字段作详细介绍. 对TC ...
- TCP/IP详解--第十五章
第15章 TFTP:简单文件传送协议 15.1 引言 TFTP(Trivial File Transfer Protocol) 即简单文件传送协议,最初打算用于引导无盘系统 (通常是工作站 ...
- TCP/IP详解--第五章
第5章 RARP:逆地址解析协议 5.1 引言 具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取 I P地址.但是无盘机, 如X终端或无盘工作站,则需要采用其他方法来获得 IP地址. ...
- TCP/IP详解--第一章
说明:专栏中的内容是<TCP/IP详解>这本书,博主分享在此. 第1章概 述 1.1 引言 很多不同的厂家生产各种型号的计算机,它们运行完全不同的操作系统,但 TCP/IP协 ...
- TCP/IP详解--学习笔记(9)-TCP协议概述
终于看到了TCP协议,这是TCP/IP详解里面最重要也是最精彩的部分,要花大力气来读.前面的TFTP和BOOTP都是一些简单的协议,就不写笔记了,写起来也没啥东西. TCP和UDP处在同一层---运输 ...
- TCP/IP详解--学习笔记(5)-IP选路,动态选路,和一些细节
1.静态IP选路 1.1.一个简单的路由表 选路是IP层最重要的一个功能之一.前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据包的IP地址来选择路由.这里就不重复了.首先来看看一个简单的系统 ...
- 《TCP/IP详解》
明天又开新课了,用到的课本是<TCP/IP详解 卷2:实现>,TCP/IP论著中的the Bible. 分享一下百度百科里关于这三卷书内容的简介: <TCP/IP详解,卷1:协议&g ...
最新文章
- Java并发编程题库
- 【Java源码分析】Android-SparseArray源码分析
- python文件操作举例
- MENUITEMINFO结构的翻译(转)
- Android-- Intent.Action(2)
- 用Java刷OJ超时怎么办?原因分析及解决方式
- 第十七节: EF的CodeFirst模式的四种初始化策略和通过Migration进行数据的迁移
- [scikit-learn 机器学习] 4. 特征提取
- 同时支持mp4/ogg/webm/flv格式的视频播放
- sql获取当前月一号
- 《Python编程:从入门到实践》第12章:武装飞船
- openoffice java awt_使用openoffice转pdf,详细
- 硬件防火墙 与软件防火墙
- Uaexpert操作手册
- 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include pch.h”?
- 百万级用户量的站内信设计
- 关于电脑出现 “USB Serial Port“ 黄色感叹号
- 稳了,我用 Python 可视化分析和预测了 2022 年 FIFA 世界杯
- android BLE Peripheral 模拟 ibeacon 发出ble 广播
- AVL CRUISE基础介绍资料
热门文章
- 关于linux内存管理说法不正确,Linux自我检测题 - osc_8wyy9cyu的个人空间 - OSCHINA - 中文开源技术交流社区...
- Codeup墓地-2159
- Post Office(邮局)之四边形不等式优化dp
- “智能汽车”VS“万物互融”,谁是OPPO陈明永的未来战略?
- 腾讯资深运维专家周小军:QQ与微信架构的惊天秘密
- [附源码]java+ssm计算机毕业设计基于web的服装设计系统的设计与实现hn9pb(源码+程序+数据库+部署)
- 抽象类和接口的区别(通俗易理解)
- HDMI 延长器芯片
- JSP_JSP九大内置对象
- oracle安装问题--测试未成功的问题