【问题标题】:Sending data via request header vs sending data via request body通过请求标头发送数据与通过请求正文发送数据
【发布时间】:2016-01-25 04:58:48
【问题描述】:

通过请求头发送数据和通过请求体发送数据有什么区别。什么情况下必须通过 header/body 发送数据,什么时候不应该通过 header/body 发送数据?

【问题讨论】:

    标签: javascript servlets http-headers httprequest httpurlconnection


    【解决方案1】:

    将标头用于元数据,将正文用于业务逻辑使用的数据通常是一个好主意。

    需要考虑的几点:

    1) 如果数据是通过 HTTP 而不是 HTTPS 发送的,代理服务器可以修改标头。

    2) 如果您使用 REST 协议在微服务之间进行通信,那么互操作性可能很重要。大多数 API 通常不提供添加/修改自定义标头的功能。

    3) 最好在 HTTP 标头中包含路由器/防火墙使用的数据,并将正文限制为应用程序特定信息。

    【讨论】:

    • 第一种情况,在 HTTP 情况下,代理服务器将无法修改 HTTP 正文?
    【解决方案2】:

    消息(请求)正文是承载实际HTTP请求数据(包括表单数据和上传等)和来自服务器的HTTP响应数据(包括文件、图像等)的正文。

    虽然请求标头不能包含上述实际数据,但您可以使用请求标头发送一些特定的标头,并在此基础上应用您的逻辑。例如,在创建 REST API 时,您可以发送 AUTHENTICATION 标头来验证请求是否来自允许的用户。

    【讨论】:

    • 如果我通过创建自定义标头发送一些自定义数据,我什至可以通过消息正文发送相同的数据吗?在这种情况下,通过 header 和 body 发送数据有什么区别?
    猜你喜欢
    • 2015-07-08
    • 1970-01-01
    • 2016-04-05
    • 2018-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多