这个任务可能看起来有点愚蠢,因为我只是开始掌握HTTP。据我所知,HTTP是一种通信协议,这意味着2台计算机可以使用它进行通信。然而,在互联网上,似乎所有HTTP服务器都在提供文件。我可以制作一个不提供文件但只通过HTTP与客户端通信的烧瓶服务器吗?
答案 0 :(得分:1)
我可以制作一个不提供文件但只通过HTTP与客户端通信的烧录服务器吗?
我的理解是,当您在“正常”Web请求中收到“文件”时,实际发生的是您正在接收HTTP响应(类似于文本文件),并且该HTTP响应包含状态代码(这似乎是您认为的真正的 HTTP),“内容”部分包含“文件”的文本,HTTP响应中还有另一行指定如何接收方计算机应该解释该“内容”部分的内容(例如,JSON,明文,HTML或XML等)。该行通常看起来像Content-Type: text/html
。
在您的情况下,您只需指定状态代码,同时将内容部分留空。
由于您没有发送任何内容,您可能会认为您希望在HTTP响应中指定“空”内容类型,但there doesn't seem to be a 'null' content type。然而,您设置内容类型并不重要,因为您不会填写任何内容。我看到的一件事是将其设置为text/plain
或application/json
。
如果要将结构化数据发送给用户,通常的方法是将其作为JSON发送。因此,您可以将Content-Type
指定为application/json
,然后将响应的正文(“内容”)格式化为JSON。
以下是Flask代码的示例:
@app.route('/get_current_user')
def get_current_user():
return jsonify(
username=g.user.username,
email=g.user.email,
id=g.user.id
)