apipost和curl收不到服务器响应的HTTP/1.1 404 Not Found

windows的apipost发送请求后,服务器响应了HTTP/1.1 404 Not Found,但是apipost一直显示发送中。
linux上的curl也一样。
使用wireshark抓包发现收到了响应,但是wireshark识别不了(图中是回应404后关闭了连接):
在这里插入图片描述
第一个报文是HTTP/1.1 404 Not Found响应,但并没有识别出来,wireshark认为是一个不完整的HTTP报文(TCP segment of a reassembled PDU),但HTTP实际上是完整的,结尾带了两个\r\n(0d 0a 0d 0a):
在这里插入图片描述
第二个报文是服务器发送的FIN,里面并没有应用层数据,Len=0:
在这里插入图片描述
不清楚为什么认为这个HTTP报文不完整,只能在服务器上手动增加了:

FullHttpResponse resp = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.NOT_FOUND);
//netty服务器默认不包含CONTENT_LENGTH 需要手动设置
resp.headers().set(HttpHeaderNames.CONTENT_LENGTH, 0);

之后wireshark抓包正常了,apipost也能收到了:
在这里插入图片描述
这是因为在HTTP/1.1中,链接是复用的,如果没有content-length就无法区分两个HTTP报文的边界(粘包),也就是说HTTP/1.1如果是keep alive(没有connection也默认是keep-live),则content-length和chunk必然是二选一。
有一些响应码可以没有content-length,但404响应必须包含body,可以是0,来自RFC2616:

对于响应消息,消息里是否包含消息主体依赖相应的请求方法和响应状态码。所有HEAD请求方法的请求的响应消息不能包含消息主体。所有1XX(信息的),204(无内容)和304(无修改)的响应都不能包括一个消息主体(message-body)。所有其他的响应必须包括消息主体,虽然可能长度为零.
。。。。
服务器响应为40x,除了响应HEAD请求,都应该包含一个message-body,message-body包含一个此错误请求的解释。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/348257.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Google翻译 替换插件 沉浸式翻译(放松一下)

下载地址 Greasy Fork - 安全、实用的用户脚本大全 安装后 测试 随便找一篇文章 点击右侧粉红标签图标 更多

基于云原生技术栈构建企业统一基础技术平台(总纲)

一、概述 本文主要介绍基于云原生技术栈建设企业技术平台的总纲,该技术平台对业务应用全生命周期进行管理和支撑,提供从需求交付、生产运行、稳定保障、资产运营,以及安全生产的体系化解决方案,为企业自建或采购技术平台提供参考。…

20240124-我的第一个知识星球

2024年01月25日22:50:04 家中 我在知识星球上创建了我第一个知识星球。事情是这样的: 去年搞完WHV之后,其实还是很受打击的,毕竟付出的辛苦没有得到相应的成绩,还是很失落的。但是那个时候失落没多久,想到要去小红书发帖子,把程序分享出去,我的程序不能白开发,我想让…

照片上的杂物怎么清除?这两个方法很好用

随着智能手机的普及和拍照技术的发展,我们经常会在社交媒体上分享自己的照片。然而,有时候拍摄的照片中会包含一些不必要的杂物,如电线、垃圾、阴影等,这些杂物会影响照片的美观度和视觉效果。这时候我们就需要借助工具来帮我们清…

DiffBIR: Towards Blind Image Restoration with Generative Diffusion Prior

DiffBIR: Towards Blind Image Restoration with Generative Diffusion Prior Abstract1. Introduction2. Relate work3. Methodology3.1 退化去除预训练3.2 利用生成先验进行图像重建3.3 保真度-真实性权衡的潜在图像引导 4. Experiments4.1 数据集、实现、度量4.2 与最先进方…

接口性能优化常见12式

目录 1.批处理 2.异步处理 3.空间换时间 4.预处理 5.池化思想 6.串行改并行 7.索引 8.避免大事务 9.优化程序结构 10.深分页问题 11.SQL优化 12.锁粒度避免过粗 1.批处理 批量思想:批量操作数据库,这个很好理解,我们在循环插入场…

github上传代码

github上传代码 分为三步: 1.在自己的github上找个放代码地方,比如创建一个仓库 2. 在该仓库中点击上传代码 3. 然后直接把代码拖拽过来或者点击choose your files,上传后点击一下commit即可 最后代码就可以上传上来啦 ,如果想在该…

C++——函数

1,概述 函数的作用:将一段经常使用的代码封装起来,减少重复代码 一个较大的程序,一般分为若干个程序块,每个模块实现特定的功能。 2,函数的定义 函数的定义一般主要有五个步骤: 1&#xff…

爬虫(一)

1. HTTP协议与WEB开发 1. 什么是请求头请求体,响应头响应体 2. URL地址包括什么 3. get请求和post请求到底是什么 4. Content-Type是什么1.1 简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维网(…

金融OCR领域实习日志(一)——OCR技术从0到1全面调研

一、OCR基础 任务要求: 工作原理 OCR(Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相)检查纸上打印的字符,经过检测暗、亮的模式肯定其形状,而后用…

SRPC 框架服务端源码解析

0. RPC Context 保存某些必要的上下文信息; 某端独有功能:Client 获取请求成功或失败 1. RPCBuffer const 和 constexpr 变量的主要区别是:const 变量的初始化可以被推迟到运行期,constexpr 必须在编译期初始化;所…

OpenHarmony开发——GN快速上手

背景 最近在研究鸿蒙操作系统的开源项目OpenHarmony,该项目使用了GNNinja工具链进行配置,编译,于是开始研究GN如何使用。 本文的所有信息均来自GN官网和本人个人体会。 GN快速入门 使用GN GN的主要功能是根据配置文件(.gn, BU…

Android开发--状态栏布局隐藏的方法

1.问题如下,安卓布局很不协调 2.先将ActionBar设置为NoActionBar 先打开styles.xml 3.使用工具类 package com.afison.newfault.utils;import android.annotation.TargetApi; import android.app.Activity; import android.content.Context; import android.graph…

字符串匹配(BF KMP)详解 + 刷题

目录 🌼前言 BF 算法 KMP 算法 (1)前缀函数 -- O(n^3) (2)前缀函数 -- O(n^2) (3)前缀函数 -- O(n) (4)辅助理解 🐋P1308 -- 统计单词数 …

【深度学习】线性回归模型与梯度下降法

线性回归模型与梯度下降法 线性回归模型与枚举法 线性回归模型定义: w:权重b:偏置#mermaid-svg-ZAxF27Mw5dXNQgw2 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-ZAxF27Mw5dXNQgw2 .error-icon{fill:#552222;}…

pyecharts模块的下载方法以及介绍,折线图的创立

目录 1.pyecharts是什么 2.pyecharts下载方法 1.在屏幕左下角搜索这里输入cmd,找到命令提示符并且打开 2.输入pip install pyecharts 然后回车进行下载 3.检查是否下载完成 4.另一个方法 3.pyecharts入门 4.pyecharts的配置选项 set_global_opts全局配置选…

[docker] Docker资源管理

一、docker资源控制 Docker通过Cgroup 来控制容器使用的资源配额,包括CPU、内存、磁盘三大方面,基本覆盖了常见的资源配额和使用量控制。Caroup 是ControlGroups的缩写,是Linux 内核提供的一种可以限制、记录、隔离进程组所使用的物理资源(如…

OpenKruise :Kubernetes背后的托底

一、 诞生背景 Kubernetes 自身提供的应用部署管理功能,无法满足大规模应用场景的需求,例如应用发布时的原地升级策略,流式扩容,缩容顺序控制等等。所以OpenKruise的出现弥补了 Kubernetes 在应用部署、升级、防护、运维等领域的不…

剪映声音克隆;多位滴滴前中高层加入小红书提速商业化;中国和新加坡互免签证

今日精选 • 剪映推出 AI 音色克隆功能,录制 5 秒声音即可完成克隆• 商业化全面提速,多位滴滴前中高层加入小红书• 2 月 9 日起,中国和新加坡互免签证 科技动态 • 夸克上线大模型新产品“AI PPT”,可一键生成提纲、创作 PPT…

Unity - gamma space下还原linear space效果

文章目录 环境目的环境问题实践结果处理要点处理细节【OnPostProcessTexture 实现 sRGB 2 Linear 编码】 - 预处理【封装个简单的 *.cginc】 - shader runtime【shader需要gamma space下还原记得 #define _RECOVERY_LINEAR_IN_GAMMA】【颜色参数应用前 和 颜色贴图采样后】【灯…