MST

星途 面试题库

面试题:Node.js中常用的数据编码方式及应用场景

在Node.js网络通信里,经常会用到数据的编码与解码。请列举出至少三种常用的数据编码方式,并阐述每种编码方式一般适用于哪些网络通信场景,例如在HTTP请求/响应、WebSocket通信等场景下的应用。
34.0万 热度难度
前端开发Node.js

知识考点

AI 面试

面试题答案

一键面试
  • Base64编码
    • 适用场景
      • HTTP请求/响应:常用于在HTTP头中传输二进制数据,比如图片等资源以Base64编码字符串形式嵌入到CSS样式或HTML标签中,可减少额外的HTTP请求。例如,在<img>标签的src属性中使用Base64编码的图片数据,这样在加载页面时无需单独请求图片文件。
      • WebSocket通信:在WebSocket传输一些小型二进制数据(如简单图标)时,可先将其转换为Base64编码再传输,方便在文本协议上传输二进制内容。
  • JSON编码
    • 适用场景
      • HTTP请求/响应:是现代Web应用中最常用的数据交换格式。在RESTful API中,客户端向服务器发送JSON格式的请求体来传递数据,服务器以JSON格式返回响应数据。例如,用户登录接口,客户端将用户名和密码以JSON对象形式{"username":"user1","password":"123456"}放在请求体中发送给服务器,服务器验证后返回包含用户信息的JSON响应{"user_id":1,"username":"user1","email":"user1@example.com"}
      • WebSocket通信:WebSocket也广泛使用JSON编码进行数据传输,特别是在实时通信场景下,如聊天应用,客户端和服务器之间通过JSON格式传递消息,如{"sender":"user1","receiver":"user2","message":"Hello!"},便于双方解析和处理数据。
  • URL编码
    • 适用场景
      • HTTP请求:主要用于在URL中传递参数。当URL中包含特殊字符(如空格、&等)时,需要对这些字符进行URL编码。例如,在搜索功能中,搜索关键词“JavaScript & Python”,经过URL编码后变为“JavaScript%20%26%20Python”,这样服务器才能正确解析该参数。一般GET请求的参数会通过URL编码方式附加在URL后面。