当前位置: 首页 > news >正文

面试题:HTTP的body是二进制还是文本

实际上,HTTP的body可以是二进制数据,也可以是文本。HTTP协议本身不对body内容的格式做限制,具体格式取决于Content-Type头字段的定义。

文本数据

  • 当Content-Type头字段指定为文本类型时(如text/plaintext/htmlapplication/json等),HTTP body中的内容通常是文本数据。

  • 例如:

    Content-Type: text/plainThis is a plain text message.
    
    Content-Type: application/json{"name": "John","age": 30
    }
    

    请求发送JSON数据:

    POST /api/data HTTP/1.1
    Host: example.com
    Content-Type: application/json
    Content-Length: 48
    {
    "username": "john_doe",
    "email": "john@example.com"
    }
    

二进制数据

  • 当Content-Type头字段指定为二进制类型时(如application/octet-streamimage/pngapplication/pdf等),HTTP body中的内容是二进制数据。

  • 例如:

    Content-Type: application/octet-stream[Binary data not displayable]
    
    Content-Type: image/png[Binary image data]
    

    请求发送PNG图片:

    POST /upload HTTP/1.1
    Host: example.com
    Content-Type: image/png
    Content-Length: 1024[Binary image data]
    

HTTP协议通过Content-Type头字段来告知接收方如何解析body的内容,因此可以携带各种格式的数据,包括但不限于:

  • 文本格式(plain text, HTML, JSON, XML等)
  • 二进制格式(图像、音频、视频、PDF、二进制文件等)

最后给大家推荐一个LinuxC/C++高级架构系统教程的学习资源与课程,可以帮助你有方向、更细致地学习C/C++后端开发,具体内容请见 https://xxetb.xetslk.com/s/1o04uB

http://www.lryc.cn/news/383010.html

相关文章:

  • 5分钟带你部署一套Jenkins持续集成环境​
  • OpenAI突然宣布停止向中国提供API服务!
  • Bootstrap 标签
  • EtherCAT主站SOEM -- 37 -- win-soem-win10及win11系统QT-SOEM-1个电机转圈圈-周期同步速度模式(CSV模式)
  • 老板舍不得买库存管理软件❓一招解决
  • 【MySQL数据库】:MySQL视图特性
  • malloc、free和new delete的区别
  • 如何有效地优化 Erlang 程序的内存使用,以应对大规模数据处理的需求?
  • vue3项目使用@antv/g6实现可视化流程功能
  • 【Linux网络(一)初识计算机网络】
  • Vulhub——Log4j、solr
  • linux 设置程序自启动
  • PostgreSQL 分区表与并行查询(十)
  • React Hooks使用规则:为什么不在条件语句和循环中使用它们
  • 【Docker】Consul 和API
  • Python polars学习-07 缺失值
  • 前端面试题(八)答案版
  • 在交易中出场比入场更为重要
  • 【D3.js in Action 3 精译】关于本书
  • 【408考点之数据结构】二叉树的概念与实现
  • STM32之二:时钟树
  • 第十四站:Java玫瑰金——移动开发(第二篇)
  • 数据处理技术影响皮质-皮质间诱发电位的量化
  • ResultSet的作用和类型
  • 计算机网络:运输层 - TCP首部格式 连接的创建与释放
  • 妈耶!被夸爆的零售数据分析方案在这里
  • AI探索:最佳落地应用场景
  • 2024年最新机动车签字授权人考试题库。
  • 软RAID
  • IDEA 学习之 启动“卡死”