一般用例
想象一个客户端正在上传大量JSON。Content-Type应该保留,application/json因为它描述了实际数据。Accept-Encoding和Transfer-Encoding似乎是在告诉服务器应如何格式化响应。看来,响应为此目的明确使用了Content-Encoding头,但这不是有效的请求头。
我有什么想念的吗?有没有人找到一个优雅的解决方案?
具体用例
我的用例是,我有一个移动应用程序,该应用程序生成大量的JSON(在某些情况下,但是程度较小的情况下,还会生成一些二进制数据),并且压缩请求可以节省大量的带宽。我使用Tomcat作为我的Servlet容器。我将Spring用于其MVC批注,主要是为了将JEE的某些内容抽象为一个更加简洁,基于批注的接口。我还使用Jackson进行自动(反序列化)。
我也使用nginx,但是我不确定那是否是我想要进行减压的地方。Nginx节点仅平衡请求,然后通过数据中心分发这些请求。保持压缩,直到它真正到达要处理的节点,这同样好。
提前致谢,
似乎[Content-Encoding]不是有效的请求标头。
这实际上不是很正确。根据RFC 2616,sec 14.11,Content-Encoding
是一个实体标头,这意味着它可以应用于http响应和请求的实体。通过多部分MIME消息的功能,甚至可以压缩请求(或响应)的选定部分。
但是,Web服务器对压缩的请求正文的支持非常有限。Apache通过mod_deflate
模块在一定程度上支持它。我还不清楚nginx是否可以处理压缩请求。
由于我不是专家,我有一个关于HTTP/2的一般问题。 因此,众所周知,HTTP2压缩报头以减小消息大小。这只适用于响应还是也适用于请求?如果做一个小实验,运行两个小型HTTP服务器,一个使用版本1.1,另一个使用版本2,让两个服务器发送完全相同的内容,然后在Firefox中请求两个页面,我可以看到HTTP/2版本的响应头大小大大减小。但是,请求头的大小几乎相同。在我看来,这是有道理的,因为浏览器事
问题内容: 如何gzip HTTP 请求 ,由创建 我正在使用Spring (Java SE,而不是Web浏览器中的Android或Javascript)。 我正在提出一些非常大的请求,并且我希望压缩 请求正文 。 问题答案: 我提出了两种解决方案,一种更简单,无需流传输,另一种支持流传输。 如果您 不需要流式传输 ,请使用custom ,一个Spring功能。 可能在哪里: 我复制了 配置拦截器
问题内容: 我试图弄清楚如何轻松发送HTTP / HTTPS请求以及处理gzip / deflate压缩响应以及cookie的最佳方法。 我发现最好的是https://github.com/mikeal/request,它可以处理 除 压缩 以外的 所有内容。是否有模块或方法可以满足我的要求? 如果没有,我可以某种方式组合请求和zlib吗?我尝试将zlib和组合在一起,但失败了。 问题答案: 注意
主要内容:HTTP请求完整格式HTTP请求完整格式 HTTP请求由3部分组成(请求行+请求头+请求体): 下面是一个实际的请求示例: ①是请求方法,HTTP/1.1 定义的请求方法有8种:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE,最常的两种GET和POST,如果是RESTful接口的话一般会用到GET、POST、DELETE、PUT。 ②为请求对应的URL地址,它和报文头的Hos
获取请求 要通过依赖注入的方式来获取当前 HTTP 请求的实例,你应该在控制器方法中引入 Illuminate\Http\Request 类。传入的请求实例将通过 服务容器 自动注入: <?php namespace App\Http\Controllers; use Illuminate\Http\Request; class UserController extends Controll
Blade 支持注解的方式或者使用 Request 对象获取请求信息。 表单参数 先看看 Request 提供的操作表单参数的API Optional<String> query(String name) Optional<Integer> queryInt(String name) Optional<Long> queryLong(String name) Optional<Double> qu