如何在linux中用c编写http1.0代理服务器?

Saj*_*ani 4 c linux proxy network-programming

我必须开发在Linux和c中只使用HTTP 1.0的代理服务器.我需要一些提示才能开始开发.

jit*_*ter 19

  • 我假设您对使用Linux和语言c有信心(没有提示,否则不要从开发代理开始)
  • 阅读并理解RFC 1945 HTTP/1.0(注意具体提到的代理)
  • 确定您想要的代理类型(web/caching/content-filter/anonymizer/transparent/non-transparent/reverse/gateway/tunnel/...)
  • 开始开发服务器

基本步骤

  1. 打开端口
  2. 听口岸
  3. 获取从客户端发送到该端口的所有请求(可能使整个事物多线程,以便能够一次处理多个请求)
  4. 确定它是否是有效的HTTP 1.0请求
  5. 提取请求组件
  6. 根据您的代理类型重建请求
  7. 发送新请求
  8. 得到回应
  9. 向客户发送回复

  • +1容忍并且至少试图提供有用的答案. (2认同)

mon*_*ksy 6

如何创建代理服务器:

  1. 打开一个端口来收听
  2. 捕获该报告上的所有传入请求
  3. 确定所请求的Web地址
  4. 打开与主机的连接并转发请求
  5. 收到回复
  6. 将响应发送回请求客户端

另外:使用线程允许对服务器的多个请求.