如何使用 HTTP GET 传递二进制数据和元数据

如何使用 HTTP GET 传递二进制数据和元数据

我正在使用 BaseHTTPServer.BaseHTTPRequestHandler 来实现我的服务器。

目前我仅使用二进制数据文件来响应获取请求。

self.send_response(200)
self.send_header("Content-Type", 'application/octet-stream')
self.send_header("Content-Disposition", 'attachment; filename="{}"'.format(os.path.basename(FILEPATH)))
fs = os.fstat(f.fileno())
self.send_header("Content-Length", str(fs.st_size))
self.end_headers()

现在要求添加另一个部分,其中包括一些简短的 json 格式的配置数据(即{'status': 'ok', 'type': 'keepalive'}),我宁愿在由唯一的 http 标头或 http 正文分隔的相同响应上传递这些信息。

最好的方法是什么?我想知道是否可以在当前 get 响应中添加其他标头,或者将其拆分为单独的 GET 请求:一个用于元数据,另一个用于二进制数据。

谢谢

相关内容