Provisional headers are shown(一)
谷歌浏览器调试的时候,这个警告经常出现。但是每次产生的原因可能都是不一样的。
这篇文档记录我遇到的其中一次。
现象:一个并发的错误信息:
CAUTION:request is not finished yet!
原因:
在构造响应消息HttpResponse的时候,在成功的响应200 OK且有返回content的情况下,
没有明确初始化定义两个响应消息头信息:
Content-Type:
Content-Length:
解决:
1 response.headers().set(CONTENT_TYPE, "application/json"); 2 response.headers().setInt(CONTENT_LENGTH, response.content().readableBytes());
附录:
常用的content_type类型参数
1 text/html : HTML格式 2 text/plain :纯文本格式 3 text/xml : XML格式 4 image/gif :gif图片格式 5 image/jpeg :jpg图片格式 6 image/png:png图片格式 7 8 application/xhtml+xml :XHTML格式 9 application/xml : XML数据格式 10 application/atom+xml :Atom XML聚合格式 11 application/json : JSON数据格式 12 application/pdf :pdf格式 13 application/msword : Word文档格式 14 application/octet-stream : 二进制流数据(如常见的文件下载) 15 application/x-www-form-urlencoded :form表单数据被编码为key/value格式发送到服务器 16 17 multipart/form-data : 需要在表单中进行文件上传时,就需要使用该格式
上善若水,水利万物而不争。