OnceIO(Node.JS)服务器端Cookie设置、添加、删除、显示及其实现原理 HTTP 是一种无状态的协议,服务器单从网络连接上无从知道客户身份,这给交互式 Web 应用程序的实现带来了阻碍。Cookie 就是用来绕开 HTTP 的无状态性的手段之一。Cookie 实际上是一小段的文本信息。客户端(浏览器)向服务器发送请求,如果 服务器需要记录该用户状态,就会将 Cookie 放在响应头中向客户端浏览器发送。如果浏览器启用了 Cookie,就会把 Cookie 保存起来,并且在再次请求该网站时把请求的网址连同 Cookie 一同提交给服务器。服务器通过读取 Cookie 来辨认用户状态。服务器还可以根据需要修改 Cookie 的内容。
OnceIO(Node.JS)的网页(模板)的引用与嵌套 OnceIO 提供将一个网页文件嵌套在另一个网页文件中的机制。文件嵌套与模板引擎无关,语法固定为
<!--#include="path"-->
,其中 path 为文件相对路径,引号必须为双引号,中间不能有空格。
<html>
<body>
<!--#include="header.html"-->
<div>
Main content
</div>
<!--#include="footer.html"-->
</body>
</html>
OnceIO(NodeJS)中的服务器端缓存、模板预加载和静态资源文件的缓存和Gzip压缩机制 Web 资源在服务器和客户端(浏览器)之间的副本不仅能保存在客户端,也可以保存在服务器端。缓存会根据进来的请求将输出内容的副本保存在服务器内存中;然后,如果下一个请求是相同的 URL,且网页在这段时间内没有更新,服务器就不会再次从硬盘中获取内容,而是直接使用内存中缓存的网页副本,达到节约带宽,减少延迟的作用。
下面我们将介绍一些 OnceIO 中和服务器端缓存有关的函数和属性。
NodeJS中的客户端缓存、浏览器缓存、304缓存和OnceIO的缓存控制 这里讨论的缓存是指 web 缓存:一个 web 资源(如 html 页面、图片、文件等)在服务器和客户端(浏览器)之间的副本。缓存会根据进来的请求保存请求输出的内容的副本;然后,如果下一个请求是相同的 URL,且网页在这段时间内没有更新,浏览器就不会再次下载网页,而是直接使用本地缓存的网页副本。
缓存的作用主要有:
所有的缓存都有一套规则来帮助它们决定什么情况下使用缓存中的副本,什么情况下向源服务器再次发送请求。这些规则有的在协议(如 HTTP 协议 1.0 和 1.1)中有定义,有的则是由缓存的管理员(如 DBA、浏览器的用户、代理服务器管理员或者应用开发者)设置。
OnceIO(Node.JS)的静态文件路由(app.static) 为了提供静态资源,比如图像、CSS 文件和 JavaScript 文件等,可以将这些资源放在专门的文件夹中,然后用 app.static('folder') 将文件夹设置为 static 模式,使其中的资源可以直接被提供,而不参与中间件、Handler、会话、POST 和 Cookie,以达到节约带宽、减少延迟和降低服务器压力的目的。示例代码如下:
app.static('css')
OnceIO(Node.JS)的路由(Routing)、路由方法和路由变量 路由用于确定应用程序如何响应对特定端点的客户机请求,包含一个 URI(或路径)和一个特定的 HTTP 请求方法(GET、POST 等)。
每个路由可以具有一个或多个处理程序函数,这些函数在路由匹配时执行。
路由定义采用以下结构:
app.METHOD(PATH, HANDLER)
Node.JS的表单提交及OnceIO中接受GET/POST数据的三种方法 在互联网上, QueryString是地址的一部分, 其中包含着需要传给后台的数据,通常以?开始,以&号分割。在表单提交时,会默认以QueryString的形式向后台发送数据,OnceIO会将其存储在res.query对象上。
OnceIO(Node.JS)中安装、使用和更换doT、EJS、pug等模板引擎 由于 doT.js 模板引擎的整体性能较优,OnceIO 采用 doT.js 作为默认模板引擎。在使用任何一种除了 doT.js 之外的模板引擎之前都需要先用 cmd 在项目文件夹安装这种模板引擎。以使用 Git Bash 安装 EJS 为例,使用的命令是:
$ npm install ejs
OnceIO(Node.JS)中的模板引擎是什么及MVC设计模式的使用与实现 这一节主要介绍
OnceIO(NodeJS)中模板引擎的使用。模板引擎是为了使用户界面与业务数据(内容)分离而产生的,模板引擎可以让(网站)程序实现界面与数据分离,在将数据填充到模板并最终生成HTML的过程中,天然就体现了MVC设计模式(Model-view-controller)的思想。 MVC 模式是一种动态的程序设计架构,用一种将业务逻辑、数据、界面显示分离的方法组织代码。简化后续对程序的修改和扩展,并且使程序的某一部分的重复利用成为可能。
用OnceIO(NodeJS)搭建简单的web服务器 OnceIO是
OnceDoc企业内容管理系统的底层Web框架,它可以实现模板文件、静态文件的全缓存,运行起来完全不需要I/O操作,并且支持客户端缓存优化,GZIP压缩等(只在第一次压缩),拥有非常好的性能,为您节约服务器成本。它的模块化功能,可以让你的Web进行分布式存储,即一个扩展包里即包含前端、后端和数据库定义,只需通过添加/删除目录的方式就可实现功能删减,实现真正的模块化扩展。这里是介绍如何使用OnceIO的一系列文章。