一、Node服务器开发
1、学习服务器开发的目的
(1)、可以和后端程序员进行紧密的配合
(2)、让业务前置
(3)、扩展知识面
2、服务器的主要工作
(1)、实现项目的业务逻辑
(2)、实现数据的增删改查(CRUD)
(3)、Node.js开发服务器的优势?
- Node.js是前端开发人员转向后端开发人员的极佳途径
- 一些公司要求前端工程师掌握Node.js开发
- Node,js生态系统活跃,有大量开源库可以使用
- 前端开发工具大多基于Node.js开发
(4)、用Node.js来代替传统的服务端语言(如Java、 PHP语言等) ,开发服务端的网站应用。客户端和服务器端网站开发流程
3、使用Node创建服务器
3.1、步骤:
(1)引入http模块
(2)创建服务器对象
(3)定义请求和响应
(4)监听端口号
本地机的域名:localhost=== 本地机的IP地址:127.0.0.1(域名和ip地址是一 一对应关系)
const http = require('http')
const app = http.createServer()
app.on('request',(req,res)=>{
res.end('Hello Wolrd')
})
app.listen(9089)
console.log('服务器已启动')
4、http协议:(Hyper Text Transfer Protocal)超文本传输协议
(1)HTTP协议规定了如何从网站服务器传输超文本到本地浏览器。
(2)HTTP协议基于客户端服务器架构工作,是客户端(用户)和服务器(网站)请求和应答的标准。
(3)HTTP协议可以使浏览器更加高效,是网络传输减少。
(4)HTTP协议不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。
5、关于HTTP请求和响应
5.1、请求消息:客户端向服务器发送请求时所携带的数据块。
5.2、响应消息:服务器端响应客户端请求时所携带的数据块。
5.3、客户端向服务器端发送请求的类型
(1)、get请求:在浏览器的地址栏直接输入请求地址或在页面使用超链接,浏览器将默认发送get请求。
(2)、post请求:在<form>
标签的method属性中指定为post时,请求方式就是post。
Get请求演示:
客户端:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="http://localhost:3000" method="get">
<button type="submit">提交按钮</button>
</form>
</body>
</html>
服务器端:
//1、引入http模块
const http = require('http')
//2、创建一个服务器对象
const server=http.createServer()
//3、给服务器上绑定一个请求事件,服务器接收响应来做出相应的反应应答
server.on('request',(req,res)=>{
console.log('请求方式:',req.method)
res.end('<h1>Hello User</h1>')
})
//4、启动服务器,再给服务器一个端口号,监听5000端口上的信息
server.listen(3000)
console.log('服务器已经在3000默认端口上启动')
我们可以看到在终端里以一共有两种请求方式:
分别是:客户端发送请求,form表单的请求为get方式;另一个是服务器端向客户端响应信息发送的默认方式是get方式
post请求演示:
客户端:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="http://localhost:3000" method="get">
<button type="submit">提交按钮</button>
</form>
</body>
</html>
服务器端:
//1、引入http模块
const http = require('http')
//2、创建一个服务器对象
const server=http.createServer(