restserver 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
restserver 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
restserver 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
restserver 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
restserver 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Apache
开发语言 C/C++
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
提 交 者 calvinwilliams
适用人群 未知
收录时间 2020-03-02

软件简介

restserver是一个小巧、高效、低耗的C技术栈的RESTful应用服务平台。

小巧是因为链接出来的可执行程序只有300多KB,应用接口库80KB,本体源码都在一个目录中,手写的大概一千行左右,用预置好的makefile一条命令就能完成源码编译安装。

高效是因为她完全用C编写而成,采用多进程+多路复用模型,参考Nginx。

低耗是因为空载运行只占了几MB内存,特别适合买不起高配云服务器的个人开发者。对于企业来说,现在动不动就要求8、16、32GB内存配置,如果软件能低耗运行,节省下来的硬件支出也是相当可观,或者说相同配置的硬件上能对外提供更大容量的应用服务。

restserver功能特性如下:(截止版本v0.8.0)

  • HTTP核心功能:如侦听IP、PORT、域名匹配、超时控制。
  • HTTP安全控制:防御巨量HTTP头选项、防御巨大HTTP头、防御巨大HTTP体。
  • 平台封装至RESTful层:与Apache、Tomcat封装HTTP层相比,封装层次更高,应用无需处理HTTP层的众多细节,自带RESTful控制器直接分派到RESTful服务入口,应用接口直接提供RESTful编程接口。你也可以编写自己的控制器替换自带控制器。
  • 多进程+多路复用模型:充分利用多核环境,防御慢速TCP,支持巨量TCP连接和同时收发,且性能卓越。
  • 可执行程序+动态库模式:restserver是应用服务平台(可执行程序),启动后装载应用(动态库),外来请求被平台接收和解析,转交给应用动态库处理,处理完后返回平台,发送响应回去,平台和应用的部署运行边界解耦清晰。
  • 运行模式:以前给公司研发的多款平台框架沉淀下来的优秀设计思想,测试模式即时装卸应用,重构应用后无需重启平台,生产模式预装载应用,性能无损耗,谁说鱼与熊掌不可兼得?那是教条!
  • 平台自有日志设施:可配置日志文件名、日志等级,同时应用也能使用。
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (7)

加载中
这东西不错啊,如果能移植到嵌入式板,甚至是MCU上,那做网页配置界面不容易好多。
2020/06/23 12:01
回复
举报
加入websoket,支持前端非json数据
2020/04/07 19:13
回复
举报
牛皮
2020/03/31 20:08
回复
举报
时间成本,学习成本,维护成本不比几台服务器高吗 不过作者的出发点是好的
2020/03/17 12:00
回复
举报
mini版基本上适合mini型业务,不用多少维护
2020/03/31 20:10
回复
举报
这是个极mini版web服务器吗
2020/03/11 16:39
回复
举报
calvinwilliams软件作者
是极mini版的restful服务器
2020/03/17 08:37
回复
举报
更多评论
暂无内容
发表了博客
2014/02/16 21:45

baiduMp3接口3

歌曲ID 详细信息接口: http://tingapi.ting.baidu.com/v1/restserver/ting?from=android&version=2.4.0&method=baidu.ting.song.getInfos&format=xml&songid=354387&ts=1354960702678&e=pOwOqqTY0fS5jmtSdOJBh4XW4rQHDI7EhrJgILD3Z%2FQ%3D&nw=1&bduss= 幻灯片接口: http://tingapi.ting.baidu.com/v1/restserver/ting?from=android&version=2.4.0&method=baidu.ting.plaza.getFocusPic&format=json&limit=111 分类接口: http...

0
1
发表了博客
2018/09/04 09:16

物联网通信 - RESTDemo示例程序

概述 Server开放RESTful API接口,供应用程序/移动App/嵌入式qt通过http post调用,实现获取服务端数据,更新服务器数据 详细 代码下载:http://www.demodashi.com/demo/13944.html 一、前言 什么是REST REST即表述性状态传递(英文:Representational State Transfer,简称REST),描述的是在网络中client和server的一种交互形式。 REST能干什么 REST可以通过一套统一的接口为 Web,iOS和Android提供服务。另外对于广大平台来说,...

0
0
发表了博客
2013/05/19 10:01

Mac中Rest服务器安装和配置(codeIgniter+rest server)

安装 codeIgniter,安装方法(http://codeigniter.org.cn/user_guide/installation/index.html),注意保证 codeIgniter 文件夹中的 index.php 放入 /Library/WebServer/Documents/ 中(根目录);其他配置和数据库先不管; 安装 codeigniter-restserver,安装方法(https://github.com/philsturgeon/codeigniter-restserver),涉及三个文件 application/libraries/Format.php 和 application/libraries/REST_Controller.php ...

1
2
发表了博客
2018/10/10 10:00

sofa-rpc 服务端源码流程走读

sofa-rpc是阿里开源的一款高性能的rpc框架,这篇文章主要是对sofa-rpc provider启动服务流程的一个代码走读,下面是我简单绘制的一个基本的关系流程图 下面我们根据sofa-rpc代码,对流程进行一个跟踪与走读。我们以BoltServer的为例 public static void main(String[] args) { ApplicationConfig application = new ApplicationConfig().setAppName("test-server"); ServerConfig serverConfig = new ...

0
0
发表了博客
2018/01/07 23:53

音乐下载api

青檬音乐 http://tingapi.ting.baidu.com/v1/restserver/ting?from=android&version=5.6.5.6&format=json&method=baidu.ting.song.getRecommandSongList&num=200&song_id=100575177 ###一、百度音乐api 01、首页 http://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1 02、百度在线音乐歌单 /** * #主打榜单 * 1.新歌榜 * 2.热歌榜 * #分类榜单 * 20.华语金曲榜 * 21.欧美金曲榜 ...

0
0
2018/05/18 22:18

php curl 需要登录爬取页面

$data='username=demo_peter@126.com&password=123qwe&remember=1'; $curlobj = curl_init(); // 初始化 curl_setopt($curlobj, CURLOPT_URL, "http://www.imooc.com/user/login"); // 设置访问网页的URL curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, true); // 执行之后不直接打印出来 // Cookie相关设置,这部分设置需要在所有会话开始之前设置 date_default_timezone_set('PRC'); // 使用Cookie时,...

0
0
发表了博客
2019/07/25 11:44

智能家居-3.基于esp8266的语音控制系统(软件篇)

智能家居-1.基于esp8266的语音控制系统(开篇) 智能家居-2.基于esp8266的语音控制系统(硬件篇) 智能家居-3.基于esp8266的语音控制系统(软件篇) 赞赏支持 QQ:505645074 树莓派安装及配置 镜像文件下载地址 https://www.raspberrypi.org/downloads/ 安装apache apollo(MQTT代理服务器) sudo tar -zxvf apache-apollo-1.7.1-unix-distro.tar.gz apache-apollo-1.7.1 cd apache-apollo-1.7.1/bin sudo ./apollo create /opt/broker...

0
0
发表了博客
2013/05/19 23:20

在CodeIgniter框架中使用RESTful服务

【IT168 专稿】CodeIgniter是php中目前优秀的框架之一,功能十分强大,但我们往往会忽视它在webservice方面的一些强大功能。在本文中,将会介绍如何使用CodeIgniter框架,为你的web应用程序建立RESTful API服务,并演示如何让创建的API和其他RESTful风格的webservices,比如Facebook或者Twitter进行交互。   第一部分 搭建RESTful服务   步骤1 下载并设置DEMO   我们提供了相关的基础框架示例程序下载,以方便本文的接下来...

1
5
发表了博客
2015/04/20 14:54

章一、搭建最基本的REST接口服务器

博主自序: 最近一直在弄如何使用jersey来搭建一个REST接口服务器,在网上看的资料都不行,不知道是不是包弄错了,今天自己琢磨了大半天,总算搞定了最基本的Hello world. 博主最近比较忙,也没时间去研究原理,就直接开始说如何能实现。如果看了文章的朋友有问题的话,可以留言交流。 第一步:导入jar包(maven工程直接添加依赖) 其实一个最基本的REST接口服务器只需要导入一个包,就可以实现Hello world了,这就是神奇的jer...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
7 评论
91 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部