如何在C编写一个http1.0代理服务器在Linux?

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

Solutions Collecting From Web of "如何在C编写一个http1.0代理服务器在Linux?"

  • 我假设你有信心使用Linux和语言C(没有提示,否则不要开始开发代理)
  • 阅读并理解RFC 1945 HTTP / 1.0 (注意代理的具体提及)
  • 确定你想要什么样的代理(网页/缓存/内容过滤/匿名/透明/非透明/反向/网关/隧道/ …)
  • 开始开发服务器

基本步骤

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

如何创建代理服务器:

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

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