我正在编写HTTP服务器,我应该添加哪些功能?

时间:2014-04-06 03:34:02

标签: python http httpserver

我知道这不是一个受欢迎的问题,但我没有通过谷歌搜索得到足够的信息。 所以我基本上将HTTP服务器编写为类项目。我不是问怎么做。我想知道的是:要添加的基本功能是什么?

到目前为止,我已经:

  1. 返回请求的页面/资源
  2. 添加DateContent-TypeServerContent-Length标题
  3. 一个简单的缓存机制,将请求的页面添加到内存中,以便下次请求时我可以从内存中获取它。
  4. 我正在使用Python gevent来处理请求,基本上它是一个异步的lib。当我收到请求时,我会生成一个新的greenlet来处理它。

    感谢任何信息。

1 个答案:

答案 0 :(得分:2)

嗯,只需完整实现HTTP 1.1并进行适当的错误处理是非常重要的。

HTTP flowchart

流程图开始:

  • 服务可用吗?状态503,如果没有。
  • URI太长了吗?状态414,如果是。
  • 标题太大了?状态431,如果是。
  • 请求是否需要任何未实现的功能?状态501,如果有。
  • 等...