Http与Tcp协议的原理以及应用

OSI七层模型和相关协议

七层模型从上到下如下所示:

  • 应用层:负责应用之间的通信,处理请求和响应的具体格式
  • 表示层:对于数据格式进行处理
  • 会话层:负责建立和断开通信连接,
  • 传输层:负责建立端口之间的连接,规范数据传输
  • 网络层:负责主机之间的传输和寻路
  • 数据链路层:负责传输数据帧,进行差错检测
  • 物理层:负责将数据和电信号进行转化

OSI七层模型的每一层有对应的协议和规范,如图所示:

Tcp协议

简介

TCP(Transmission Control Protocol)是传输控制协议,是一种面向连接的、安全的、基于字节流的传输层通信协议。

特点

TCP协议是面向连接的传输协议 、数据安全、没有大小限制(基于字节流)、速度慢。
UDP协议是面向无连接的传输协议、数据不安全、有大小限制(基于数据报,一次做多64k)、速度快。
TCP和UDP的区别如下表所示:

报文格式

TCP协议的报文格式如图所示:

对各字段的解释如下表所示:

三次握手和四次挥手

如图所示:

Http协议

简介

HTTP(HyperText Transfer Protocol)是超文本传输协议,是基于TCP协议的一个应用层协议。

特点

短连接:基于TCP面向连接的特性,每次请求都需要建立连接,请求结束后断开连接。想要保持长连接,可在连接有效期内定期发送请求。

无状态:由于是短连接,请求响应之后直接断开连接,因此不会进行状态存储,下次连接需要重新输入数据信息。

通信使用明文:HTTP协议的通信内容都是明文,不加密,因此不安全。

报文格式

请求报文

请求行结构

版本的对应

响应报文

响应行格式

状态码

引用参考

滑动验证页面icon-default.png?t=N7T8https://segmentfault.com/a/1190000043974534

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/232162.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式【Zookeeper】

1.1 ZooKeeper 是什么 ZooKeeper 是 Apache 的顶级项目。ZooKeeper 为分布式应用提供了高效且可靠的分布式协调服务,提供了诸如统一命名服务、配置管理和分布式锁等分布式的基础服务。在解决分布式数据一致性方面,ZooKeeper 并没有直接采用 Paxos 算法&…

适用于生物行业的生信云平台

随着基因检测技术的不断发展,生物信息云平台在基因检测行业的应用越来越广泛。生物信息云平台是一种基于云计算的技术,可以将基因检测数据存储在云端,并通过数据分析、挖掘等技术手段,对基因数据进行处理、分析和解读。 这种技术的…

使用React 18、Echarts和MUI实现温度计

关键词 React 18 Echarts和MUI 前言 在本文中,我们将结合使用React 18、Echarts和MUI(Material-UI)库,展示如何实现一个交互性的温度计。我们将使用Echarts绘制温度计的外观,并使用MUI创建一个漂亮的用户界面。 本文…

Pix2Seq 算法阅读记录

目录 前向传播过程 训练过程: 网络结构 前向传播过程 batch_preds--> tgt-->tgtcat(tgt, padding)-->tgt_embedding-->tgt_mask,tgt_padding_mask 以NLP的角度,tgt 代表了 词汇表的长度,encoder部分直接对图像进行处理&#…

【QT 自研上位机 与 ESP32下位机联调>>>串口控制GPIO-基础样例-联合文章】

【QT 自研上位机 与 ESP32下位机联调>>>串口控制GPIO-基础样例-联合文章】 1、概述2、实验环境3、 自我总结4、 实验过程1、验证上位机QT程序1、下载样例代码2、修改qt程序3、运行测试验证 2、验证下位机ESP32程序1、下载样例代码2、更改ESP3…

【AI视野·今日NLP 自然语言处理论文速览 第六十七期】Mon, 1 Jan 2024

AI视野今日CS.NLP 自然语言处理论文速览 Mon, 1 Jan 2024 Totally 42 papers 👉上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Principled Gradient-based Markov Chain Monte Carlo for Text Generation Authors Li Du, Afra Amini, Lucas…

权威测评首家通过!亚信安慧AntDB通过中国信通院数据库迁移工具专项测试

近日,亚信安慧数据库数据同步平台在中国信通院第17批“可信数据库”数据库迁移工具专项测试中,完全符合《数据库迁移工具能力要求》,成为首家通过标准测试的产品。这一成果标志着湖南亚信安慧科技有限公司(简称“亚信安慧”&#…

js文件上传 分片上传/断点续传/极速秒传

(极速秒传)利用md5判断上传的文件是否存在 MD5信息摘要算法,一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。 每一个文件都会生成…

nvm如何使用

因涉及项目较多,node环境所需不同,项目依赖node环境出错原因,可借助nvm自由切换对应node环境,方便快捷。省去之前反复手动下载node版本,卸载安装。 nvm介绍自行搜索 nvm下载链接: https://github.com/co…

C++: 求1+2+3+...+n

int i 1; int sum 0; class Sum { public:Sum(){sum i;i;} };class Solution { public:int Sum_Solution(int n) {Sum a[n]; //调用n次sum的构造函数return sum;} };

NGUI基础-三大基础组件之Event System(Uicameras)

目录 主要作用 相关参数 (建议:红色是重点,黑色的了解即可) Event Type Events go to Process Events in Event Mask​编辑 Debug Command Click Allow Multi Touch Auto Hide Cursor Sticky ToolTip/Long press ToolTip/ToolTip…

oracle物化视图

物化视图定义 视图是一个虚拟表(也可以认为是一条语句),基于它创建时指定的查询语句返回的结果集,每次访问它都会导致这个查询语句被执行一次,为了避免每次访问都执行这个查询,可以将这个查询结果集存储到…

基于Flutter构建小型新闻App

目录 1. 概述 1.1 功能概述 1.2 技术准备 1.3 源码地址 2. App首页 2.1 pubspec依赖 2.2 热门首页组件 2.2.1 DefaultTabController 2.2.2 Swiper 2.3 新闻API数据访问 2.4 热门首页效果图 3. 新闻分类 3.1 GestureDetector 3.2 新闻分类效果图 4. 收藏功能 4…

【动态规划】LeetCode-10. 正则表达式匹配

10. 正则表达式匹配。 给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。 ‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素 所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。 …

【开源】基于JAVA语言的智能教学资源库系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 课程档案模块2.3 课程资源模块2.4 课程作业模块2.5 课程评价模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 课程档案表3.2.2 课程资源表3.2.3 课程作业表3.2.4 课程评价表 四、系统展示五、核心代…

分布式(6)

目录 26.雪花算法如何实现的? 27.雪花算法有什么问题?有哪些解决思路? 28.有哪些方案实现分布式锁? 29.基于数据库如何实现分布式锁?有什么缺陷? 30.基于Redis如何实现分布式锁?有什么缺陷&…

GitHub Copilot 最佳免费平替:阿里通义灵码

之前分享了不少关于 GitHub Copilot 的文章,不少粉丝都评论让我试试阿里的通义灵码,这让我对通义灵码有了不少的兴趣。 今天,阿七就带大家了解一下阿里的通义灵码,我们按照之前 GitHub Copilot 的顺序分享通义灵码在相同场景下的…

uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -小程序首页实现

锋哥原创的uniapp微信小程序投票系统实战: uniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )_哔哩哔哩_bilibiliuniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )共计21条视频…

[蓝桥杯学习] 树状树组

lowbit操作 数字二进制表达中的最低位1以及后面所有的0,函数写法如下: int lowbit(int x){return x&-x;} 例如说,lowbit(0101100100) (100) lowbit(4) 4 lowbit(6) 2 时间复杂度o(1) 树状数组 应用 进行单点修改和区间查询…

本地计算机 上的 My5OL808 服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止

客户反馈说mysql启动不了,报错信息: 本地计算机 上的 My5OL808 服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止。 查了不少资料,最后分析问题是这样的,手动或者重复安装mysql时,创建了多个…