当前位置: 首页 > 知识库问答 >
问题:

HTTP/1.1客户端如何知道消息在存在“Connection:keep alive”头字段但不存在“Content Length”时的结束位置?

吕扬
2023-03-14

特别是,我有一个来自nginx服务器的响应头:

HTTP/1.1 200 OK
Server: nginx/1.10.3 (Ubuntu)
Date: Tue, 20 Mar 2018 10:28:24 GMT
Content-Type: text/html
Last-Modified: Thu, 28 Jan 2016 10:50:21 GMT
Connection: keep-alive
ETag: W/"56a9f26d-2d97"
Content-Encoding: gzip

然后是大约3352字节的压缩数据。我试图找出客户机如何知道此消息的主体在哪里结束,以及新的响应在哪里开始。

共有1个答案

经炜
2023-03-14

不需要。响应需要一个内容长度响应头字段,或者必须使用“传输编码:分块”。

 类似资料:
  • 客户端连接到服务器,并使用头发送请求。服务器响应还包含header。 现在客户断电了。TCP或HTTP堆栈中是否有任何机制(如ping)告诉服务器客户端不在那里(除了超时)?

  • 对于我的应用程序,我有一个服务器端数据库,在其中存储用户及其数据。我想知道如何跟踪哪个用户拥有哪个UUID。我想确保只有具有自己唯一UUID的同一用户才能访问数据库中的数据。 最好的方法是什么?

  • 这是我的超文本标记语言PHP表页面的完整代码...

  • 我是JWT新手,我只是将其作为JSON中的java对象返回,并制作了一些过滤器,以便它可以像Spring Security中的session_id一样工作。 但是我不明白JWT是如何存储在客户端的,在服务器响应之后它会去哪里?它是否由coockies中的所有浏览器自动存储?所有浏览器都支持JWT吗? 我很感激你的回答。

  • 我有一个Spring Boot服务器和一个客户端,它们使用STOMP通过Websockets连接。 我的用例是,每次向特定endpoint发出http请求时,我都想向客户机发送数据。我找到的所有教程,只展示了这种情况,客户端向“/hello”发送一些数据,服务器通过向“topic/greetings”发送数据做出反应: 我需要的是一个控制器方法,它无需消息映射即可发送数据。它应该只是在每次有人对e

  • firebase确实提供了客户端sdk和服务器端管理sdk来使用firebase云消息传递。 让我困惑的是: 我们在公共javascript文件或脚本标记中包含客户端初始化代码。是否有人无法查看此初始化凭据并直接向连接到我们的应用程序的设备发送post请求?如果用户不断发送垃圾邮件或恶意通知,该怎么办?整个FCM功能不应该只由AdminSDK提供吗? 我正在为一个项目的nodejs应用程序使用fi