什么是Web 服务器
大家如果写过jsp 应该知道tomcat 他也是web服务器的一种 通过ip和端口来访问我们的程序 node也是一样的道理
Web服务器一般指的是“网站服务器”,是某种驻留在因特网上的计算机程序,可以向请求终端提供服务,主要功能时存储、处理和传递网页给“客户”,传递内容一般是HTML文档、图像、样式表或脚本等,也可以放置网站文件以供浏览或下载。 WEB服务器也称为WWW(Word Wide Web)服务器,核心功能就是提供网页信息浏览服务,严格来说Web服务器只负责处理Http协议请求,发送静态页面的内容。 简单来讲就是通过浏览器的ip地址和端口访问你的本地文件或程序
访问
我们用到的是node 的htpp模块 Node.js 的 HTTP 模块是其核心模块之一,允许开发者创建 HTTP 服务器和客户端。通过这个模块,你可以轻松地处理 HTTP 请求和响应,而无需依赖其他服务器软件如 Apache 或 Nginx。
- 首先创建一个文件叫serve.js(文件名随便起是js就行) 如图1所示
- 然后导入http模块
- 创建web服务器实例
- 启动服务器
- 代码如下 // 导入模块 const http = require('http') // 创建web服务器实例 const server = http.createServer() // 启动服务器 server.listen(8000,function(){ console.log("服务器启动成功") }); 命令 node+文件名 启动服务 如图2所示 然后我们可以查询一下端口 存在就代表启动成功 如图3
访问监听
request是请求对象 ,response是响应对象
添加如下代码,如视频1所示 request能获取到客户端的信息 如请求地址 请求方式等
// 监听请求
server.on('request',function(request,response){
console.log(收到了请求地址为${request.url} 请求方法是${request.method})
})
大家有可能发现虽然node有响应但是页面一直没有请求的结果,那是因为我们没有进行响应数据,这时候就需要用到我们的响应对象 response了 修改监听代码如下 效果如视频2所示
// 监听请求
server.on('request',function(request,response){
const text = 收到了请求地址为${request.url} 请求方法是${request.method};
// 答应日志
console.log(text)
// 设置响应头 为utf8 不然会乱码
response.setHeader("Content-Type","text/html;charset=utf-8")
// 响应对象返回前端信息
response.end(text)
})
响应html
// 导入模块
const http = require('http')
// 创建web服务器实例
const server = http.createServer()
// 监听请求
server.on('request',function(request,response){
const text = `收到了请求地址为${request.url} 请求方法是${request.method}`;
// 答应日志
console.log(text)
// 设置响应头 为utf8 不然会乱码
response.setHeader("Content-Type","text/html;charset=utf-8")
// 响应对象返回前端信息
response.end(`<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>node</title>
</head>
<body>
<h1>测试123</h1>
<div>块级元素</div>
<span>行内元素</span>
<span>行内元素</span>
</body>
</html>`);
})
// 启动服务器
server.listen(8000,function(){
console.log("服务器启动成功")
});