使用winsock接收http请求

问题描述 投票:0回答:2

出于教育目的,我试图用c ++制作一个web api。 web api需要能够侦听http请求(GET,POST等),当它收到一个http请求时,它需要能够将数据发送回客户端。因为它是出于教育目的,我想在没有不必要的库的情况下这样做。现在我需要做的第一件事就是让api能够接收请求并做出回应,经过谷歌的一些研究后我发现winsock可能是设置windows套接字的最基本方法,但我发现收到的很少http请求。

我的问题是:winsock是否可以从浏览器接收http请求,并将数据发送回浏览器?

c++ winsock2
2个回答
0
投票

它是,因为HTTP是一种协议(通常)使用TCP作为底层传输协议。

但是,对于经验丰富的C ++开发人员来说,尝试在简单的win32套接字之上构建一个真正的HTTP层有点太多了。

许多没有经验的C ++开发人员可能会将此任务视为“好吧,您只需要读取一些数据,解析标头,组装自己的HTTP响应并将其发回”。

但是......你必须得到支持

  • TLS,带有所有令人讨厌的私钥/公钥实现
  • 重定向
  • 分块转移
  • G-Zip转移

这样的例子不胜枚举..

所以实际上,如果你只想接受一个套接字,读取一些数据并发送一些基本的HTTP响应,而不是。如果你想要一个可靠,专业的HTTP库 - 可能没有。


1
投票

我的问题是:winsock是否可以从浏览器接收http请求,并将数据发送回浏览器?

是。 ^^

© www.soinside.com 2019 - 2024. All rights reserved.