transferEncoding

用了这么久HTTP, 你是否了解Content-Length?

风流意气都作罢 提交于 2019-11-29 08:58:01
摘要: 理解HTTP协议... 原文: 用了这么久HTTP, 你是否了解Content-Length和Transfer-Encoding ? 作者: 朴瑞卿的博客 由Content-Length导致的问题引发的一系列思考: 前段时间开发API网关, 使用postman调试时出现了超时的情况, 经排查确定是请求数据被处理后 Content-Length 与实际不一致导致的问题, 故有此文. Content-Length , HTTP消息长度, 用 十进制数字 表示的 八位字节的数目 . 一般情况下, 很多工作都被框架完成, 我们很少去关注这部分内容, 但少数情况下发生了 Content-Length 与实际消息长度不一致, 程序可能会发生比较奇怪的异常, 如: 无响应直到超时. 请求被截断, 而且下一个请求解析出现错乱. Content-Length 是HTTP消息长度, 用 十进制数字 表示的 八位字节的数目 , 是Headers中常见的一个字段. Content-Length 应该是精确的, 否则就会导致异常 (特别地, HTTP1.0中这个字段可有可无). Content-Length 首部指示出报文中实体主体的字节大小. 这个大小是包含了所有内容编码的, 比如, 对文本文件进行了 gzip 压缩的话, Content-Length 首部指的就是压缩后的大小而不是原始大小.

http协议

做~自己de王妃 提交于 2019-11-29 07:53:32
1、http协议 是浏览器和web服务器之间的通信协议 (1)通用头信息(General) Request URL: 请求的url,向服务器端获取的内容 RequestMethod: 请求的方法 get/post get获取内容,post常用于向服务器传递安全较高的数据 Status Code: 相应的状态码 200+:服务器成功响应 300+:响应的重定向 400+:客户端错误 500+:服务器端错误 Remote Adress: 请求的服务器IP及端口号 Referrer Policy: 进入该网页方式 (2)响应头信息(Response Headers) Connection: keep-alive:连接的方式:持续连接 Content-Type: 响应的文件类型 Transfer-Encoding: 响应的传输方式,chunked(分段传输) (3)请求头信息 Accept: 客户端能够接受的文件类型有哪些 Connection: 客户端和服务器的连接方式 User-Agent: 客户端使用的浏览器 (4)请求主体 可有可无,浏览器向服务器端传递的数据 来源: https://my.oschina.net/u/4165441/blog/3103449