gpt4 book ai didi

c++ - C/C++ - 为 PUT 请求实现 http 协议(protocol)

转载 作者:太空宇宙 更新时间:2023-11-04 08:50:35 24 4
gpt4 key购买 nike

我正在编写一个 http 服务器,我只是对如何实现 PUT 请求有疑问。

我一次读取一个客户端套接字,直到到达 CRLF“\r\n”新行,然后我将该行发送到解析器以进行标记化。当我连续出现两个换行符时,我会发送一个响应(因为它是象征请求已完成的 http 标准)。

这对于实现 GET/HEAD/DELETE 来说很好。但现在我看到 PUT 的内容有双换行符。

PUT /index.html HTTP/1.0
Headers: stuff <--- not the real CRLF 1
<--- not the real CRLF 2
html content goes here <--- CRLF 1
<--- CRLF 2 ... done, send response

这很容易解释。如果我解析的第一行是 PUT,我会说好吧,在我们得到第二个 CRLF1+2 之前不要发送请求。

但是如果内容也有换行符怎么办,那么我怎么知道客户端什么时候-真的-完成发送给我的东西?

最佳答案

客户端应该发送一个content-length 头字段。有关更深入的讨论,请参阅 RFC 2616 section 4.4 Message length .

关于c++ - C/C++ - 为 PUT 请求实现 http 协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19806118/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com