详解Node.js的http模块之HTTP服务器的创建
通http.createServer
方法创建HTTP服务器后,就可以使用http
的服务端功能。Node的HTTP服务端,主要涉及http.Server
、http.ServerResponse
、http.IncomingMessage
三个对象,这些对象在前面两篇文章有详细的介绍,本文会创建一个HTTP服务器介绍这些对象的使用。
通http.createServer
方法创建HTTP服务器后,就可以使用http
的服务端功能。Node的HTTP服务端,主要涉及http.Server
、http.ServerResponse
、http.IncomingMessage
三个对象,这些对象在前面两篇文章有详细的介绍,本文会创建一个HTTP服务器介绍这些对象的使用。
Node.js的高效I/O处理,使其不仅适合做为服务器提供HTTP服务,也可以做为HTTP客户端访问和使用HTTP服务。在HTTP服务中,有两个重要的概念:URL和方法。使用最多的是用于请求内容的GET方法,除GET方法外还有其它方法,如:POST、PUT、DELETE、HEAD,使用不同的方法访问服务器可以得到不同的响应结果。
阅读全文在Node.js中,tls
模块使用OpenSSL来提供TLS/SSL,实现加密过的流通讯。TLS/SSL会在传输层上对网络连接进行加密,防止传输数据被窃听和篡改。tls
模块创建的TLS服务器和客户端与net
模块相似,但对方法进行了扩展,如:对公钥、私钥和证书的设置等。
要连接到一个TLS
服务器,也要需要密钥和证书。在Node.js的tls
模块中,可以通过tls.connet()
方法创建一个tls.TLSSocket
对象实例,该实例是tls.Socket
的安全版本。创建OpenSSL密钥和证书请可参考:使用OpenSSL创建TLS/SSL公钥、私钥
前面两篇文章分别介绍了用Node.js的tls
模块创建TLS服务器和TLS客户端,本文将创一个简单的TLS聊天室。我们可以用这个聊天室,实现基于命令行的通讯。通讯使用私钥和自签名公钥进行加密、验证,保证通讯的安全。
Node.js V4.0 正式版在今天正式发布并可以下载了,这也是第一个io.js 和 Node.js 的合并版本,目前最新的版本号是V4.0.0
。在Node.js V4.0中,V8引擎更新到了V4.5版,可以支持大多数 ECMAScript 6 新特性。在Node.js 4.0 将引入 LTS(Long Term Support,长期支持版本) 长期支持计划的发行周期,首个LTS版本将于10月份发布,以后每6个月将发布一个主要的稳定版本(4月份一个,10月份一个,类似Ubuntu)。
tls.Server
类继承自net.Server,创建一个tls服务器可以使用构造函数tls.Server
或工厂方法tls. createServer
。前面本站介绍过tls服务端功能使用,本文将介绍tls.Server
类中方法、属性、事件等。
tls.TLSSocket
类继承自net.Socket,通过tls.connect()或new tls.TLSSocket()
可以创建一个tls.TLSSocket
实例。tls.TLSSocket
是对net.Socket 实例的封装,net.Socket
中的方法、事件、属性等都可以在tls.TLSSocket
中使用。
HTTPS在HTTP协议的基础上,增加了TLS安全传输协议。在Node.js中HTTPS做为被一个独立的核心模块,HTTPS模块与HTTP模块的方法、API等非常相似。如:https.Server类继承自http.Server类,不同的是HTTPS使用TLS连接代替了普通TCP连接,以保证数据传输的安全性。
阅读全文在Node.js中,创建HTTPS客户与创建HTTP客户端非常相似,在不服务器端不需要客户端传入证书和客户不验证服务器端证书时,二者在使用上几乎没有区别。在上篇文章,我们介绍了HTTPS服务器的创建,本节我们在上节的基础上,介绍HTTPS客户端及客户与服务端验证的相关功能。
阅读全文