我的账户
猩码学苑

专注C++开发菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

康利20221208node03

[复制链接]
智商不在服务区 发表于 2022-12-9 18:01:13 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
一、学习内容:
# 1. http协议

## 1.1 http协议概述

- 协议: 就是事先的一种约定、规则、规范、标准。(租房合同、工作合同)
- HTTP协议(HyperText Transfer Protocol ):超文本传输协议,客户端(==浏览器==)与Web服务器端之间的交互协议。当浏览器和服务器进行数据交换时,html文件、图片、CSS、JS等都是基于HTTP协议进行传输的
- HTTP协议有两个版本: 1.0 和 1.1,目前使用的基本都是1.1
- 特点:
  - 通常是基于 B/S 结构软件的
  - 无连接: 浏览器向服务器发送一次请求,服务器响应一次,链接即结束
  - 无状态: 无记忆。 服务器不能记住哪个浏览器访问过
- HTTP协议主要分为两大部分:
  - 请求:  访问服务器的任何一个文件都是一次请求
  - 响应:  服务器处理请求,将结果返回给浏览器


## 1.2 请求协议/请求报文

请求报文分为3个部分:  请求行   请求头   请求体

- 请求行:  请求方式、请求URL地址、协议版本号
- 请求头:  主机域名和端口号,客户端(浏览器)的信息等
- 请求体:  发送给服务器的数据,get和post都会通过请求主体将数据发送给服务器
可以使用Chrome tools 或者 firebug 来查看请求和响应的信息(F12)

主要请求项:
- host: 主机名和端口号,80端口默认不显示
- accept:浏览器可接受的程序/文件类型
- accept-encoding: 浏览器可接受的压缩类型
- accept-language: 浏览器可接受的语言类型
- connection: keep-alive   持久化连接

# 2. npm 和 npm常用命令
## 2.1 什么是npm
   npm (Node Packeage Manager): Node包管理器。是一个Node第三方模块(第三方包)管理工具,会随着node一起被安装。使用该工具能够简单方便的管理项目中所需要的第三方模块
   官网: www.npmjs.com
   官网管理了所有第三方包,例如:jquery、art-template等,我们只要使用 npm 命令就能快速下载相关的包


# 3. express框架

## 3.1 什么是Express

Express 是一个保持最小规模的灵活的基于Node.js的Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能。

- express 是一个能够搭建Web服务器的框架
- express 保留了 http模块 的基本API,也就是说使用 express 时也能使用 req 和 res 对象
- express 还额外封装了一些方法,能让我们更方便的搭建服务器
- express 提供了中间件功能,其他很多强大的第三方模块都是基于express开发的

req.url \ req.method \  req.headers
res.setHeader \ res.writeHeader \ res.write \ res.end


# 4. Express扩展
## 4.1 Express中使用art-template

   在Express框架中不能直接使用art-template模板引擎,使用Express-art-template中间件来加载。

   使用步骤:

   1) 下载/安装

# express-art-template中间件,首先要安装art-template,再安装express-art-template
npm i art-template express-art-template

  2) 在服务器文件中加载 express-art-template

const template = require('express-art-template');

  3) 配置express调用的模板引擎

//设置模板引擎类型
//参数1: 模板文件的后缀,此处可以随意定义。 定义成什么,模板文件后缀就是什么。一般使用html即可
//参数2: 模板引擎对象
app.engine('html', template);

  4) 渲染页面

   将模板页和数据组装到一起 (渲染数据)

   ① 数据 : js对象

   ② 模板页: 输出数据的方法和之前一样

//render方法是express提供好的方法,不管我们使用什么模板引擎都能使用该方法渲染页面
//参数1: 模板文件路径
//参数2: 要渲染到页面的json数据
res.render(filepath, js);
  5) 模板文件
模板文件的数据渲染方式和之前方式一样

回复

使用道具 举报

关注0

粉丝0

帖子68

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注C++菁英教育

客服电话:18009298968

客服时间:9:00-21:00

猩码学苑 - 专注C++开发菁英教育!( 陕ICP备2025058934号-1 )

版权所有 © 陕西菁英数字科技有限公司 2023-2026