DDSimpleHTTPd 0.1.1

DDSimpleHTTPd 0.1.1

测试已测试
语言语言 Obj-CObjective C
许可证 CC
发布最后发布2014年12月

未命名 维护。



  • 作者
  • Dominik Pich

这是一个使用 CCFNetwork(适用于OSX和iOS)编写的简单Web服务器,用Objective C语言编写。

它基于 SimpleHTTPd,由 Alex Potsites 从 Jurgen of Cultured Code 编写的 SimpleHTTPServer 衍生而来(Jurgen是著名Mac开发者, Things 的开发者),以及他为 O'Reilly 的 Mac Dev Center 编写的文章。

SimpleHTTPd 进行了几项改进,包括处理POST请求、处理跨越多个数据包的请求、更改监听端口、Web根目录,并通过Bonjour 广告服务器。

现在,5年之后的今天,我根据它编写了 DDSimpleHTTPd。
1. 我做了一些维护
  • 它不再局限于Cocoa应用程序,也可以用于命令行工具
  • 它不再局限于OSX,现在还可以在iOS上运行。
  • 它使用 Arc
  • 现在通过 @properties 实现属性
  • 它使用了大量的 Objective C 语言的语法糖,我还稍微清理了一下变量的命名,总体上试图使代码更“优雅”
  • 它可以为OSX构建框架,为iOS构建静态库。(Xcode项目包含了一个Cocoa Mac应用程序、一个iOS演示应用程序和一个OSX命令行应用程序作为演示)
  • 我放弃了PPC和32位支持,只使用了新的64位/armv7(s)运行时

2. 我添加了一些修复项和功能

  • 当服务器被告知 stopListening 时,现在它会正确地清理自己并关闭套接字句柄,从而使其可以被重用
  • 现在正确地将请求资源的路径追加到 Web 根目录。之前 GET often 不工作
  • 当服务器接收到请求(POST/GET)时,现在它首先询问代理,而且只有在代理无法处理它时,才使用内置解决方案
  • 现在响应者有一个 isListening 属性,它返回服务器状态
  • loggingEnabled 控制NSLog
  • 服务器现在可以自动生成目录索引文件。autogenerateIndex 设置为 YES,它会自动创建一个包含目录内容的锚链接的基本HTML。
  • 现在默认支持更多 MIME 类型
  • 现在 Web 根目录可以指向一个单独的文件,在这种情况下,实际的URL将被忽略(单文件模式)