标签 http 下的文章

Mongoose Web Server 是一款易于使用的Web服务器,它可以嵌入到其它应用程序中,为其提供Web接口。

主要特写:

  • 跨平台,支持Windows、OS X 和 Linux。
  • 支持 CGI、SSL、SSI、Digest (MD5) 认证,WebSocket 和 WebDAV。
  • 支持断点续传和 URL 重写。
  • 基于 IP 的 ACL,支持 Windows 服务,支持 GETPOSTHEADPUTDELETE 方法。
  • Excluding files from serving by URI pattern。
  • 下载速度限制,基于客户端子网和 URI 模式。
  • 体积小,可执行文件只有 40k 左右。
  • 可嵌入式,提供简单的 API (mongoose.h),只需一个源码文件 mongoose.c
  • 嵌入式实例:hello.c , post.cupload.cwebsocket.c
  • 提供 Python 和 C# 版本。
  • 采用 GPLv2 授权协议(商业不友好的)和商业授权。

- 阅读剩余部分 -

Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python 由 Guido van Rossum 于1989年底发明,第一个公开发行版发行于1991年。像Perl语言一样, Python 源代码同样遵循 GPL(GNU General Public License)协议。

最近使用Python语言实现了一个简单的App服务器,下面这两个文件中的源码Demo供大家参考。

- 阅读剩余部分 -

上一篇 文章 讲了FastDFS分布式文件系统安装和部署,这篇文章主要描述如何安装、使用 fastdfs-nginx-module 和 nginx 实现通过 Http 方式访问 FastDFS 分布式文件系统中的文件。

FastDFS 通过 Tracker 服务器将文件放在 Storage 服务器存储。但是同组之间的服务器需要复制文件有延迟的问题,假设Tracker服务器将文件上传到了192.168.1.80,并将文件ID返回给客户端。这时,后台会将这个文件复制到192.168.1.30,如果复制没有完成,客户端就用这个文件ID在192.168.1.30上获取文件,肯定会出现错误。 fastdfs-nginx-module 可以重定向连接到源服务器取文件,避免客户端由于复制延迟的问题,出现错误。(此说法来源于http://blog.itpub.net/29254281/viewspace-1288761/,不知道是否正确)

但是,从 FastDFS v5.0.1 开始,tracker server和storage server已经默认已经不支持 Http 访问。问过很多人,都是通过搭建 nginx 或 Apache 实现的 Http 访问。解决方法是,在每个存储服务(storage)都应该安装 nginx 和 fastdfs_nginx_module 模块,然后用单独一台 nginx 做反向代理。

- 阅读剩余部分 -

libevent 库使得高并发响应 HTTP Server 的编写变得很容易。整个过程包括如下几部:初始化,创建 HTTP Server, 指定 callback, 进入事件循环。另外在回调函数中,可以获取客户端请求(request 的 HTTP Header 和参数等),进行响应的处理,再将结果发送给客户端(response 的 HTTP Header 和内容,如 html 代码)。

libevent 除了设置 generic 的 callback,还可以对特定的请求路径设置对应的 callback(回调/处理函数)。

- 阅读剩余部分 -