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

news2025/1/12 1:03:34

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.coloradmin.cn/o/1361770.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

音量控制软件sound control mac功能亮点

sound control mac可以帮助用户控制某个独立应用程序的音量,通过每应用音量,均衡器,平衡和音频路由独立控制每个应用的音频,还有整个系统的音量。 sound control mac功能亮点 每个应用程序的音量控制 独立控制应用的数量。 键盘音…

UI5与后端的文件交互(一)

文章目录 前言一、RAP的开发1. 创建表格2. 创建CDS Entity3. 创建BDEF4. 创建implementation class5. 创建Service Definition和Binding6. 测试API 二、创建UI5 Project1. 使用Basic模板创建2. 创建View3. 测试页面及绑定的oData数据是否正确4. 创建Controller5. 导入外部包&am…

IP地址定位技术的应用及其重要性

随着网络技术的快速发展,网络安全问题日益凸显,IP地址定位技术在网络安全领域的应用也越来越广泛。本文将介绍IP地址定位技术在网络安全领域的应用及其重要性。 一、IP地址定位技术概述 IP地址定位技术是指通过一定的技术手段,将虚拟网络中的…

这些软件测试面试题你都会,那offer还不手拿把掐

问:你在测试中发现了一个 bug ,但是开发经理认为这不是一个 bug ,你应该怎样解决。 首先,将问题提交到缺陷管理库里面进行备案然后,要获取判断的依据和标准:根据需求说明书、产品说明、设计文档等&#xf…

Git(2):Git环境的安装

本教程里的git命令例子都是在Git Bash中演示的,会用到一些基本的linux命令,在此为大家提前列举: ls/ll 查看当前目录cat 查看文件内容touch 创建文件vi vi编辑器(使用vi编辑器是为了方便展示效果,学员可以记事本、edi…

一个H3C交换机周期性断网并自动恢复的排查案例

一个朋友发我一个H3C日志,这个交换机是汇聚层交换机,1和2口是trunk口,其它接口是access接口,17-21口据说接的都是监控、终端。日志里面看到大量的拓朴改变,好几个网口up、down的日志,怀疑是环路&#xff0c…

Pycharm打包程序为exe文件

Pycharm打包程序为exe文件 【一】导入模块pyinstaller 【1】图片说明 【2】文字说明 根据图片顺序执行 首先点击file进入settings界面,在setting界面找到Project下面的Python Interpretor,点击号进行模块的添加在搜索框中输入pyinstaller,…

计算机毕业设计 SpringBoot的中小型制造企业质量管理系统 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

java基于vue的音乐播放器的设计与实现论文

摘 要 当下,如果还依然使用纸质文档来记录并且管理相关信息,可能会出现很多问题,比如原始文件的丢失,因为采用纸质文档,很容易受潮或者怕火,不容易备份,需要花费大量的人员和资金来管理用纸质文…

启动 Mac 时显示闪烁的问号

启动 Mac 时显示闪烁的问号 如果启动时在 Mac 屏幕上看到闪烁的问号,这意味着你的 Mac 无法找到自身的系统软件。 如果 Mac 启动时出现闪烁的问号且无法继续启动,请尝试以下步骤。 1.通过按住其电源按钮几秒钟来关闭 Mac。 2.按一下电源按钮&#xf…

spring boot 2升级为spring boot 3中数据库连接池druid的问题

目录 ConfigurationClassPostProcessor ConfigurationClassBeanDefinitionReader MybatisPlusAutoConfiguration ConditionEvaluator OnBeanCondition 总结 近期给了一个任务,要求是对现有的 spring boot 2.x 项目进行升级,由于 spring boot 2.x 版…

计算机环境安全

操作系统安全----比如windows,linux 安全标识--实体唯一性 windows---主体:账户,计算机,服务 安全标识符SID-Security Identifier 普通用户SID是1000,管理用SID是500 linux---主体:用户,用户组&#xf…

华为面经总结

为了帮助大家更好的应对面试,我整理了往年华为校招面试的题目,供大家参考~ 面经1 技术一面 自我介绍说下项目中的难点volatile和synchronized的区别, 问的比较细大顶堆小顶堆怎么删除根节点CSRF攻击是什么,怎么预防线程通信方式…

C++ STL set用法详解

目录 1.set的创建。 具体例子: set初始化: 2.set的特性。 3.set元素遍历: 迭代器创建: 4.set的基本函数。 4.1.insert() 4.2 clear() 4.3 find() 4.4 erase() 4.5 count() 4.6 size() 4.7 empty 4.8 lower_boun…

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…

【漏洞挖掘】挖掘CNVD证书

文章目录 一、CNVD介绍事件型漏洞通用型漏洞 二、挖掘思路1. 黑盒测试资产搜集fofa API筛选脚本 2. 白盒测试代码审计 3. google hack注意事项 一、CNVD介绍 国家信息安全漏洞共享平台(简称CNVD),对于白帽子来说,挖掘的漏洞提交后…

【Docker】创建,查看,进入容器

目录 方式一: 创建 查看 ​编辑 方式二: 创建 查看 进入容器 方式一: 首先查看有什么镜像 创建 docker run -i -t --namefreedom centos:7 /bin - i 表示容器一直运行着,容器如果没有客户端连接就会关闭,加了…

python中抓取小米应用商城xpath实例

页面源码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <title>手机游戏应用商店_软件商店app下载-小米应用商店</title> <…

nvidia-smi 完整查看显卡型号

当我们在使用nvidia-smi查看显卡的型号的时候&#xff0c;会发现出现如下问题&#xff1a; 可以看到我们此时无法看到显卡的准确型号&#xff0c;只能看到NVIDIA GeForce ... 解决方法&#xff1a;使用如下命令即可完整显示显卡型号 nvidia-smi -L 如下所示&#xff1a;

嵌入式代码经常产生bug的五大原因

在嵌入式开发软件中查找和消除潜在的错误是一项艰巨的任务。 通常需要英勇的努力和昂贵的工具才能从观察到的崩溃&#xff0c;死机或其他计划外的运行时行为追溯到根本原因。 在最坏的情况下&#xff0c;根本原因会破坏代码或数据&#xff0c;使系统看起来仍然可以正常工作或…