热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JSON传输与二进制传输

如何解决《JSON传输与二进制传输》经验,为你挑选了1个好方法。

对于计算机/网络,所有数据均以0和1传输。如果是这样,我不明白是什么使二进制协议与文本协议有所不同。我确实了解,当二进制协议上可能发生其他传输时,因为这些字节是不可读的。但是在REST Web服务调用期间,二进制传输比JSON快,因为我们仅传输文本。如果有任何链接请深入了解。谢谢!



1> John Fricker..:

您可以在ProtoBuf文档(https://developers.google.com/protocol-buffers/docs/overview)中找到关于二进制协议相对于文本协议(例如REST或XML)的优势的详尽解释。二进制格式(https://developers.google.com/protocol-buffers/docs/encoding)。

冒着过度简化的风险,二进制格式通过牺牲人类可读性允许对数据进行简洁的描述。“简洁”是指小几个数量级。

这是可能的,因为TCP和UDP不在乎有效负载。有效负载仅对应用程序重要,因此应用程序可以定义特定目的的格式来描述数据。因此,如果以这种方式定义,则有效负载中的单个字节可以具有256个可解释的含义。

通用的人类可读格式(如REST和XML)需要由通用解析器解释。因此,它们的格式添加了字节以区分数据元素,值标签和一般的人类可读性。这些额外的字节将是扩展的,并且很容易超过数据本身的大小。

在许多情况下,例如在简单的客户端/服务器应用程序中,人类可读性是较好的牺牲。但是对于高性能,大规模扩展的基础架构(例如Google的搜索索引),开销将成为性能的巨大损失,并且二进制格式是必需的。


推荐阅读
  • 本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ... [详细]
  • 远程过程调用(RPC)是一种允许客户端通过网络请求服务器执行特定功能的技术。它简化了分布式系统的交互,使开发者可以像调用本地函数一样调用远程服务,并获得返回结果。本文将深入探讨RPC的工作原理、发展历程及其在现代技术中的应用。 ... [详细]
  • 在寻找轻量级Ruby Web框架的过程中,您可能会遇到Sinatra和Ramaze。两者都以简洁、轻便著称,但它们之间存在一些关键区别。本文将探讨这些差异,并提供详细的分析,帮助您做出最佳选择。 ... [详细]
  • Spring Cloud Config 使用 Vault 作为配置存储
    本文探讨了如何在Spring Cloud Config中集成HashiCorp Vault作为配置存储解决方案,基于Spring Cloud Hoxton.RELEASE及Spring Boot 2.2.1.RELEASE版本。文章还提供了详细的配置示例和实践建议。 ... [详细]
  • 本文详细介绍了 Kubernetes 集群管理工具 kubectl 的基本使用方法,涵盖了一系列常用的命令及其应用场景,旨在帮助初学者快速掌握 kubectl 的基本操作。 ... [详细]
  • 我是GoogleProtobuf的新手。我想解决一个问题,但我无法在互联网上找到答案, ... [详细]
  • SpringMVC RestTemplate的几种请求调用(转)
    SpringMVCRestTemplate的几种请求调用(转),Go语言社区,Golang程序员人脉社 ... [详细]
  • 程序员如何优雅应对35岁职业转型?这里有深度解析
    本文探讨了程序员在职业生涯中如何通过不断学习和技能提升,优雅地应对35岁左右的职业转型挑战。我们将深入分析当前热门技术趋势,并提供实用的学习路径。 ... [详细]
  • springMVC JRS303验证 ... [详细]
  • 本文详细介绍了如何利用Go语言和WebSockets技术构建一个高效的实时聊天系统。随着网络应用的日益复杂化,实时交互成为了提升用户体验的关键要素之一。通过本指南,开发者可以学习到最新的技术和最佳实践。 ... [详细]
  • 本文详细介绍了如何正确配置Java环境变量PATH,以确保JDK安装完成后能够正常运行。文章不仅涵盖了基本的环境变量设置步骤,还提供了针对不同操作系统下的具体操作指南。 ... [详细]
  • 微信小程序中实现位置获取的全面指南
    本文详细介绍了如何在微信小程序中实现地理位置的获取,包括通过微信官方API和腾讯地图API两种方式。文中不仅涵盖了必要的准备工作,如申请开发者密钥、下载并配置SDK等,还提供了处理用户授权及位置信息获取的具体代码示例。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 本文探讨了浏览器的同源策略限制及其对 AJAX 请求的影响,并详细介绍了如何在 Spring Boot 应用中优雅地处理跨域请求,特别是当请求包含自定义 Headers 时的解决方案。 ... [详细]
  • Google ProtoBuf的使用
    Google的protobuf太好用了,又小,读写又快跑步快慢受鞋的影响太大了,但是造鞋的工具研究起来还是很有难度的,百度 ... [详细]
author-avatar
起飞吧和谐号况
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有