Node.js HTTP(S) module ----- Build a web service // 用node.js搭建web服务 (基础)

本文介绍了如何使用Node.js的HTTP(S)模块搭建基础的Web服务。内容包括Web服务的概念,如XML、SOAP、WSDL和UDDI的作用,接着详细讲解了如何使用Node.js创建一个简单的Web服务器,包括接收请求、设置响应头、返回HTML内容等步骤,并通过实际操作展示了服务器的测试运行和响应HTML的过程。

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

Build a Web Service

Table of Contents

Build a Web Service

什么是web service

搭建

测试运行

响应HTML 

结果

总结


关于Node.js 的一个特征就是帮助我们搭建 webservice。 Node.js 属于 Javascript,主要针对于网络的编写

我们同样要使用到 HTTPS 这个module, 虽然 HTTP 也可以胜任这个要求 但是HTTPS 拥有 secure certification更安全

什么是web service

要想学习并深入它, 我们首先要了解它的定义

Web Services 介绍一种整合一系列 web-based的应用 包括 XML, SOAP, WSDL 和 UDDlopen standard.

  • XML 用于保存和表现数据 HTML就是一种XML
  • SOAP 用于传输数据
  • WSDL 用于确保数据可用
  • UDDI 列举可用的web services

Web服务允许组织在不了解防火墙后面的彼此IT系统的情况下进行数据通信

不同于 Client/Server,Web Server 不提供GUI 给用户 (如果不知道GUI, 我博客里面有介绍Python GUI),

Web服务通过网络上的编程接口共享业务逻辑,数据和流程。

开发人员可以将Web服务添加到GUI(例如网页或可执行程序),以向用户提供特定功能。 Web服务允许来自不同源的不同应用程序彼此通信而无需耗时的自定义编码,并且因为所有通信都是XML,所以Web服务不依赖于任何一种操作系统或编程语言。例如,Java可以与Perl交谈,Windows应用程序可以与UNIX应用程序通信。


搭建

var https = require("https");

var server = https.createServer(function(req, res) {

	res.writeHead(200, {"Content-Type": "text/plain"});

	res.end('Hello World');

});

server.listen(3000);

console.log("Server listening on port 3000");

首先 这个server 用一个 callbackfunction 每当这个server被激活的时候。

  1. 第一个返回的是request, 一个真实的object, 包括数据,header, 用户的信息, 用户的环境
  2. 第二个返回的是response, 也是一个object 是我们想要发给这个request的内容 这个需要我们来完成

                                                      因此我们用writeHead这个方程 来编辑我们的res

                                                  第一个量在writeHead是 statues code, 200表明这是一个成功的响应

                                                 第二个量代表javascript的header, 第一个将告诉浏览器你的res是什么类型 我们想要创造一个txt

      3.res.end代表关闭我们的response, 然后会返回其中的内容

      4.在最后我们要告诉服务器我们将要在哪个port使用这个server 去处理所有的 req


测试运行

1. 在termial运行文件

我们会发现 程序并没有停止运行, 它正在等待即将到来的requests

2. 在浏览器中查看

定位到 这个 port


响应HTML 

var https = require("https");

var server = https.createServer(function(req, res) {

	res.writeHead(200, {"Content-Type": "text/html"});

	res.end(`
		<!DOCTYPE html>
		<html>
			<head>
				<title>HTML Response</title>
			</head>
			<body>
				<h1>Serving HTML Text</h1>
				<p>${req.url}</p>
				<p>${req.method}</p>
			</body>
		</html>
	`);

});

server.listen(3000);

console.log("Server listening on port 3000");

把content-type更改为html

然后在end 中加入html代码 在html中 我去查看了 request的URL和 request的类型

结果

第二行是url 我们能发现我们就处于主页 所以是斜杆

如果我们尝试更改 url 例如 我们去css

我们能发现url随着我们的更改而变化 但是request的类型一直都是GET 除非我们发表了其他内容


总结

这只是最基础的 搭建 web server 的流程 在其它的文章里 我还将扩展并且深入 HTTP的多重应用

Author: Cvanzy  10/24/2018

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值