Simple is Happiness
Less is more
相对路径和绝对路径的辩证关系
by dawnguard keys 网站开发 1517637014840

相对路径和绝对路径是用于引用文件,在实际使用中,有些时候适合用相对路径,有些时候适合用绝对路径。

如何将OnceAir顽石云盘变为个人照片相册服务器, 储存,管理和浏览图片
by dawnguard keys OnceAir 网站开发 1517624023116

OnceAir顽石云盘在使用时可以改变一些默认的设置,实现新的功能,比如本文就将云盘变为了相册服务器,便于更好的浏览图片。

NodeJS教程:基于OnceIO框架实现文件上传和验证
by newghost keys OnceIO Node.JS 1480420866766

before函数提供了一种机制,可以在文件接收之前根据req.headers对文件进行验证(如大小、类型),return true 表示验证通并开始接收文件。在这里 before 中的回调函数会根据 req.headers 中的 content-length 判断上传的文件是否超出了尺寸限制(开发人员可以通过修改 if 语句中的常数改变文件上传尺寸上限,content-length 单位为 byte,1024 * 1024 即代表 1 MB),如果超出了,文件不会被上传,服务器返回错误信息;如果没有超出,函数返回值为 true,服务器继续执行 app.file 中的回调函数,将文件从临时地址转移到指定存储地址,文件上传到这里就完成了。  

NodeJS中的Middleware是什么?在OnceIO中创建和使用中间件
by newghost keys OnceIO Node.JS 1477095536747

OnceIO 是一个自身功能极简,完全由路由、中间件和Handler构成的 web 开发框架:一个 OnceIO 应用本质上就是在调用各种中间件和Handler。  

中间件是一个函数,它可以访问请求对象(request object (req)), 响应对象(response object (res)),并将应用的请求-响应循环传向下一个中间件。

一个应用的请求-响应循环如下图所示,由请求对象、响应对象、中间件和 handler 构成。

OnceIO(Node.JS)服务器端Cookie设置、添加、删除、显示及其实现原理
by newghost keys OnceIO Node.JS 1479562162288

HTTP 是一种无状态的协议,服务器单从网络连接上无从知道客户身份,这给交互式 Web 应用程序的实现带来了阻碍。Cookie 就是用来绕开 HTTP 的无状态性的手段之一。Cookie 实际上是一小段的文本信息。客户端(浏览器)向服务器发送请求,如果 服务器需要记录该用户状态,就会将 Cookie 放在响应头中向客户端浏览器发送。如果浏览器启用了 Cookie,就会把 Cookie 保存起来,并且在再次请求该网站时把请求的网址连同 Cookie 一同提交给服务器。服务器通过读取 Cookie 来辨认用户状态。服务器还可以根据需要修改 Cookie 的内容。

NodeJS中的客户端缓存、浏览器缓存、304缓存和OnceIO的缓存控制
by newghost keys Node.JS OnceIO 1478271465830

这里讨论的缓存是指 web 缓存:一个 web 资源(如 html 页面、图片、文件等)在服务器和客户端(浏览器)之间的副本。缓存会根据进来的请求保存请求输出的内容的副本;然后,如果下一个请求是相同的 URL,且网页在这段时间内没有更新,浏览器就不会再次下载网页,而是直接使用本地缓存的网页副本。

缓存的作用主要有:

  • 节约带宽。
  • 减少延迟。
  • 降低服务器压力。

所有的缓存都有一套规则来帮助它们决定什么情况下使用缓存中的副本,什么情况下向源服务器再次发送请求。这些规则有的在协议(如 HTTP 协议 1.0 和 1.1)中有定义,有的则是由缓存的管理员(如 DBA、浏览器的用户、代理服务器管理员或者应用开发者)设置。

OnceIO(Node.JS)中Session简介与Cookie的关系和使用方法
by newghost keys OnceIO Node 1479871167070

HTTP 是一种无状态的协议,服务器单从网络连接上无从知道客户身份,这给交互式 Web 应用程序的实现带来了阻碍。Session 和 Cookie 一样,也是用来绕开 HTTP 的无状态性的手段之一,但与 Cookie 在客户端保存状态信息不同,Session 将用户的状态信息保存在服务器端。

当应用程序需要为某个客户端的请求创建一个 Session 的时候,服务器会首先检查这个客户端的请求里是否已包含了一个 Session 标识,即 SessionID。如果已包含一个 SessionID,则说明服务器为此客户端创建过 Session,服务器就会把这个 SessionID 对应的 Session 检索出来使用(如果检索不到,可能会新建一个);如果客户端请求不包含 SessionID,服务器就会为此客户端创建一个新的 Session 并且生成一个与此 Session 相关联的 SessionID。SessionID 的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串。这个 SessionID 将在本次响应中被返回给客户端保存(常放在 Cookie 中返回,客户端 Cookie 禁用时也可放在 URL 中)。

OnceIO(Node.JS)的网页(模板)的引用与深层嵌套
by newghost keys OnceIO Node.JS 1479130400491

OnceIO 提供将一个网页文件嵌套在另一个网页文件中的机制。文件嵌套与模板引擎无关,语法固定为 。

使用网页嵌套时,服务器需要时间加载所有被嵌套网页,因此用户第一次访问时浏览器可能无法显示被嵌套网页的内容,刷新后才能显示完整网页,OnceIO 内置的 preload 方法能解决这个问题。对当前目录下的 html 后缀的文件使用 preload 的示例代码如下:

OnceDB-支持全文搜索和关系查询的Redis内存数据库:驱动安装及使用教程
by newghost keys OnceDB Node.JS 1484546314790

我们的企业网盘OnceDoc和管理软件采用内存数据库Redis。Redis 是一个使用 C 语言编写的键值对存储数据库,体积小巧,性能优异,实施简单。很多大并发网站如Twitter、GitHub Weibo、Snapchat、Flickr、阿里等都将其用作SESSION存储及缓存的管理。出于性能的考虑 Redis 自带的命令一般不支持按值查找。但是企业软件又需要数据库有搜索、复杂条件查询以及聚合分析的能力。为了实现这些功能我们修改了Redis的源码。并创建了一个新的开源分支 OnceDB

如何搭建个人SASS云盘:30秒快速安装OnceDoc企业私有网盘
by newghost keys OnceDoc 1479360370308

OnceDoc是一个高性能的、高度独立的企业内容(网盘)管理系统,底层技术完全自主实现。你仅需预先安装好NodeJS的运行环境,无需配置例如IIS、Tomcat、MySQL/SQLServer、环境变量之类的复杂依赖,解压即用。不需要您具备任何IT知识,,30秒即可完成安装,打造专属于您自己的网盘和在线文档编辑工具。

关注
扫一扫即可关注我们:
OnceDoc - OnceOA旺司企业管理私有云

ourjs官方微信号