Javascript 通过请求头发送数据与通过请求体发送数据

Javascript 通过请求头发送数据与通过请求体发送数据,javascript,servlets,http-headers,httprequest,httpurlconnection,Javascript,Servlets,Http Headers,Httprequest,Httpurlconnection,通过请求头发送数据和通过请求体发送数据有什么区别。在什么情况下,我们必须通过标头/正文发送数据,何时我们不应该通过标头/正文发送数据?消息(请求)正文是一个承载实际HTTP请求数据(包括表单数据和上载的数据等)和来自服务器的HTTP响应数据(包括文件、图像等)的正文 虽然请求头不能包含上面提到的实际数据,但您可以使用请求头发送一些特定的头,并在此基础上应用您的逻辑。例如,在创建REST API时,您可以发送身份验证标头,以验证请求是否来自允许的用户。通常最好将标头用于元数据,将正文用于业务逻辑使

通过请求头发送数据和通过请求体发送数据有什么区别。在什么情况下,我们必须通过标头/正文发送数据,何时我们不应该通过标头/正文发送数据?

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


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

通常最好将标头用于元数据,将正文用于业务逻辑使用的数据

需要考虑的几点:

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

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


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

如果我通过创建自定义头发送一些自定义数据,我甚至可以通过消息正文发送相同的数据吗?在这种情况下,通过标头和正文发送数据有什么区别?对于案例1,在HTTP案例中,代理服务器将无法修改HTTP正文?