nodeJS 启动 的 http 和 https 服务

本文详细对比了HTTP与HTTPS协议的区别,介绍了HTTPS如何在HTTP的基础上通过SSL/TLS进行数据加密传输,以及如何用Node.js实现这两种协议的服务器搭建过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http 模块和 https 模块

    http       由 http  TCP   ip 组成

    https      由 http  SSL/TLS  TCP   ip   组成

    https 是基于 SSL 和 TLS 的 http 协议

    https 是在 http 是基础上 加入了 SSL 和 TLS  "握手" 以及数据加密传输

    https 模块是用来专门处理加密访问的

http 和 https 模块的 API 和使用方式几乎是一模一样的 ,差别是 https 在搭建服务器的时候要一个 SSL 证书

搭建http服务器

		const http = require('http');  //创建服务器 http

		const hostname = '127.0.0.1';   //IP地址
		const port = 3000;   //端口号

		const server = http.createServer((req, res) => {  //监听到请求后,回调 function   req 请求相关的信息(如:从哪来过来的,类型是get还是post等信息)
			// res 告诉服务器给这个请求响应的内容
		  res.statusCode = 200;
		  res.setHeader('Content-Type', 'text/plain');  // 返回的请求头  200 成功  文本内容Content-Type   是 text/plain
		  res.end('Hello World\n');  //返回的内容,改变内容的重启服务 ctrl+c关掉, 再重启 node server.js
		});

		//listen 监听 来自 127.0.0.1 3000 的请求

		server.listen(port, hostname, () => {
		  console.log(`Server running at http://${hostname}:${port}/`);
		});

执行方法,以上代码写在 server.js 文件里

cmd 打开命令,cd 进该js文件,然后 node server.js,出现以下,其中的 http://127.0.0.1:3000/ 就是地址


在浏览器中可以打开后出现返回的 Hello World,这就是一个简单的服务

搭建https服务器

注意:要创建服务器端证书 ,options 就是证书

点击打开node.js搭建https服务器

var https = require('https');   //创建服务器 https
var fs = require('fs');        //文件系统的模块

const hostname = '127.0.0.1';
const port = 3000;

var options = {
	key : fs.readFileSync('ssh_key.pem'),   //读出 sytly 文件?
	cert : fs.readFileSync('ssh_cert.pem'),   //同步读出 SSL 证书
}

const server = http.createServer(options ,(req, res) => {  //监听到请求后,回调 function   req 请求相关的信息(如:从哪来过来的,类型是get还是post等信息)
	// res 告诉服务器给这个请求响应的内容
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');  // 返回的请求头  200 成功  文本内容Content-Type   是 text/plain
  res.end('Hello World\n');  //返回的内容,改变内容的重启服务 ctrl+c关掉, 再重启 node server.js
});

//listen 监听 来自 127.0.0.1 3000 的请求

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

总结:

http 和 https 模块的 API 和使用方式几乎是一模一样的 ,差别是 https 在搭建服务器的时候要一个 SSL 证书


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值