没有合适的资源?快使用搜索试试~ 我知道了~
node koa express
需积分: 0 0 下载量 72 浏览量
2024-03-26
19:49:13
上传
评论
收藏 748KB PDF 举报
温馨提示
试读
47页
前端的koa框架,express 框架,nodejs
资源推荐
资源详情
资源评论
nodejs
作者:郭彩军
QQ:987985143
1,http协议**
在研究HTTP协议之前,我们先回顾下web请求原理
1.1 HTTP有两类报文
请求报文和响应报文
1.2请求报文
1. 请求行(request line)
请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。例如,
GET /index.html HTTP/1.1
2. 请求头(header)
请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有
关于客户端请求的信息,典型的请求头有:
User-Agent:产生请求的浏览器类型。
Accept:客户端可发送的数据类型
Host:请求服务端的主机名,
3. 请求数据
form表单里有一个action属性=》请求服务端脚本,method=》请求方式 get(不安全) post(安
全)
请求数据不在GET方法中使用,而是在POST方法中使用。POST方法适用于需要客户填写表单的场
合。与请求数据相关的最常使用的请求头是Content-Type和Content-Length
1.3 响应报文
1. 响应行
(1)一般返回两类数据:
HTTP-Version Status-Code 其中,HTTP-Version表示服务器HTTP协议的版本(1.1);Status-
Code表示服务器发回的响应状态代码
(2)常见的状态码( 200 403 404 500记住)
<1 200 OK:客户端请求成功
<2 400 Bad Request:客户端请求有语法错误,不能被服务器所理解
<3 401 Unauthorized:请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
<4 403 Forbidden:服务器收到请求,但是拒绝提供服务
<5 404 Not Found:请求资源不存在,举个例子:输入了错误的URL
<6 500 Internal Server Error:服务器发生不可预期的错误
<7 503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常
2. 响应头
响应头一般返回的数据:
(1)Allow服务器支持哪些请求方法(如GET、POST)
(2)Content-Encoding响应数据文档的编码(Encode)方法
(3)Content-Length表示响应数据内容长度
(4)Content-Type表示响应数据属于什么类型比如:text/html
(5)Date当前时间!!
3. 响应数据
<!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="服务端脚本" method="post">
用户名:<input type="text" name="name"><br>
密码:<input type="password" name="password">
<input type="submit" value="提交">
</form>
</body>
</html>
即返回给客户端的数据,页面形式,json,跳转....,字符串
2,nodejs**
2.1nodejs是什么**
node是一个运行在服务器端的软件
官方网址 https://nodejs.org/en/,中文站 http://nodejs.cn/
2.2 能做什么**
1. 可以解析并运行javascript代码
2. 搭建http服务器
3. 操作系统资源,如内存、硬盘、网络
2.3 nodejs特点**(重点重点)
1. 单线程操作
(1)客户端发送的每一个请求,统统交给服务端创建的同一个进程去处理
(2)优势:单兵作战能力强
(3)劣势:稳定性差
多线程:类似php,客户端每发一个请求,服务端就会创建单独的进程去处理,优势:稳定性高,劣势:单兵
作战能力弱
2. 异步非阻塞I/O
I/O:I=>input O=>Output 对数据的输入和输出
3. 事件驱动
事件就是用户的操作
事件驱动是用户操作的结果
4. npm包管理工具
npm:类似于手机appstore,类似于电脑管家,一键安装软件,npm为node安装组件:formidable,
mysql,jquery,socket,bootstrap...
5. 稳定性较差
2.4 适用场景
APP 接口服务,例如 RESTful API
聊天室(本身没有太多的逻辑,只需要请求API,组织数据进行返回即可)
动态网站(服务器渲染页面),个人博客, 论坛, 商城
后端的Web服务,例如服务器端的请求(爬虫),代理请求(跨域)
前端项目打包
2.5 nodejs windows下安装
1. windows 双击安装包,下一步下一步 装好后cmd执行node -v npm -v,没有输出版本号,直接重复安装
打开cmd黑窗口:windows键盘+R=》输入cmd
*工具一定要到官方 https://nodejs.org/ 下载,历史版本下载 https://npm.taobao.org/mirrors/no
de/
*Nodejs 的版本号奇数为开发版本,偶数为发布版本,我们选择偶数号的 LTS 版本(长期维护版本
long term service)
*NodeJS 安装出错的解决方法:
尝试安装较低版本的 NodeJS
2.6 使用**
2.6.0 node在命 令行下的交互模 式
1. 交互模式
开始cmd命令行窗口:windows键+R
在命令行下输入命令 node ,这时进入 nodejs 的交互模式
退出交互模式:ctrl+c
2. 文件执行
在文件执行之前:先搞懂几个操作系统命令
cd 切换当前目录到其他目录
dir 查看当前目录下的所有文件
搞明白之后再看node文件的执行
创建文件 hello.js ,并写入代码 console.log('hello world'),命令行运行 node hello.js
快速启动命令行的方法
在文件夹上方的路径中,直接输入 cmd 即可
vscode :在左侧文件夹 -> 右键 -> 在终端中打开
注意:注: 默认的 cmd 窗口使用的是 powershell 需要切换成 cmd, 在下拉框中选择默认shell 选
择 cmd, 然后重新创建命令行窗口即可.
vscode下安装code runner插件,一键执行
3. 总结命令行下node交互:
cmd直接执行(推荐)
vscode 终端执行(开发可行)
vscode code runner执行(企业推荐)//适用于一键执行
4. 服务器自动重新部署
nodejs开发辅助工具
使用背景:修改代码后,需要重新启动 node应用,所做的修改才能生效。若之后的每次代码修
改都要重复这样的操作,势必会影响开发效率,使用了nodemon后,它会监测项目中的所有
文件,一旦发现文件有改动, 会自动重启应用
使用领域:一旦安装,node全部受益
使用操作
全局安装nodemon ,node环境下都可以用,包括之前的node -g全局安装
(1)所谓全局安装,是指把模块安装到操作系统上,所谓的全局是指操作系统,因为,安装到操作系
统后,整个计算机都可以使用了
(2)查看全局安装的目录
全局安装完成后,一般会安装到AppData目录下,
如:我的计算机是:
C:\Users\Administrator\AppData\Roaming\npm\node_modules\nodemon
启动服务的时候用nodemon 命令代替node
5.全局对象名字global
注意:在 nodejs 环境下,不能使用 BOM 和 DOM ,也没有全局对象 window,全局对象的名字叫
global
练习:在js脚本里 操作dom和bom及window global
2.6.1 输 出helloworld
1. 新建hello.js
2. 代码如下
3. 执行helloworld.js
nodemon helloworld.js
4. console.log() 在控制台里输出,在node服务端输出
2.6.2 创 建http服务
1. 新建server.js
2. 代码如下
npm install nodemon -g
//在服务端输出
console.log('hello world');
剩余46页未读,继续阅读
资源评论
恩予哥哥
- 粉丝: 175
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功