我的账户
猩码学苑

专注C++开发菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

node服务器开发_汪刚_2023.06.13

[复制链接]
霁后彩虹O 发表于 2023-6-14 00:41:46 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
今日学习内容:


## 1. 什么是服务器?

1.1服务器可以从硬件、软件(系统软件、应用软件)两个角度描述。

- 按硬件描述: 服务器就是一台超级计算机 (超强的cpu、内存、硬盘等等)。
- 按系统划分: 在硬件上安装了什么操作系统,就可以称为该系统的服务器。
  - 例如:  linux服务器、windows服务器、unix服务器等。
- 按软件划分: 在操作系统中安装了什么软件,就可以称作该软件的服务器。
  - 例如:  ==apache服务器、数据库服务器==、邮件服务器等。
## 1.2 Web 服务器

Web服务器就是安装了Web服务软件,能够提供网站服务的服务器。例如:淘宝、京东、新浪等等

常见的 Web 软件:

- ==Apache==、Nginx、IIS、Tomcat、==Node.js== 等。
- Apache服务器、Nginx服务器、IIS服务器、Tomcat服务器、Nodejs服务器
- PS: web服务器又叫做 http / https 服务器
# 2. 网站基础概念

## 1.3 URL地址解析

浏览器中输入的地址:  127.0.0.1/shop/index.html   /  192.168.124.38/shop/index.html

实际全地址:  http://127.0.0.1:80/shop/index.html

- http: 协议名, http协议(超文本传输协议)
- 127.0.0.1/192.168.124.38: 服务器IP地址
- 80: Apache服务器的默认端口号
- /shop/index.html: 要访问的文件路径

## 1.4 **IP **地址
IP: Internet Protocol  互联网协议,是为计算机网络相互连接进行==通信==而设计的协议。

- 处于网络(互联网、局域网)上的任何一台计算机都有一个独立的ip地址。
- ip地址由4段3位长度的数字组成, 3位数字的取值范围 0-255。如: 102.15.201.10
- ip地址值在 0~255 之间

特殊ip:

- 127.0.0.1 : 回环地址,每一台电脑都有该ip,指向当前使用的电脑
- 192.168.**.* * : 该网段是专门用于做==局域网==的ip段。
## 3.3 域名

- IP地址存在的问题:  数字太长,不容易记忆
- 解决方案: 使用带有意义的单词或者字母组合来代替IP地址 --->  域名(==Domain== Name)
- 域名也是唯一的,一个域名对应一个IP地址
  - 淘宝:   `11.12.103.201`    www.taobao.com
  - 百度:   `21.102.10.2`        www.baidu.com

  2. DNS
==核心: 域名虽然也是唯一的,但是要在互联网上找到一个具体网站,还是要靠IP地址。==

DNS: Domain Name System  域名系统。在DNS服务器中保存了==域名和IP的映射关系==。主要工作是将域名转换为IP地址,因为我们通过浏览器访问网站时,实际上是去找对应的IP地址。

hosts 文件可以手动设置域名和IP的映射关系

dns缓存可以保存曾经访问过的域名和IP的映射关系

工作步骤:

1)  在浏览器中输入  www.taobao.com,按下回车

2)  浏览器首先在本机中的 hosts文件和dns缓存中查询,www.taobao.com的IP地址。如果有,则获取该IP地址,然后去访问淘宝服务器。 如果没有,则向dns服务器发送解析请求。

3) dns服务器获取到浏览器请求信息之后, 将域名转换为IP地址,再将IP地址返回给浏览器。

4) 浏览器获取到IP地址,然后通过IP地址访问淘宝服务器。
## 3. 网络中的绝对路径和相对路径
绝对路径:

当 href 和 src 属性中的地址以 **/ 开头时就是绝对路径**,该路径会自动补全浏览器地址栏中协议、IP/域名、端口号

- `<img src="/assets/images/1.png" />`   ===>  
- `<link href="/assets/images/a.css" />`   ===> http://127.0.0.1:3000/assets/images/a.css
- req.url 得到就是没有 协议、IP/域名、端口号 的地址 ===>  /assets/....
相对路径:
- ./  :   去掉当前路径中的最后一层,继续向下拼
  - http://127.0.0.1:3000/show/aa/bb/cc
  - `<img src="./assets/images/1.png" />`    ===>  
- ../ :  去掉当前路径中的后两层,继续向下拼
  - http://127.0.0.1:3000/show/aa/bb/cc
  - `<img src="../assets/images/1.png" />`    ===>  

==网络中一般都使用绝对路径==
# 2. 绝对路径

## 2.1 相对路径的缺陷

案例: 在不同的目录下启动服务器,并通过浏览器访问

① C:\Users\Administrator\Desktop\node\node-2\code\3-path  

- 启动命令: `node 01-server.js`
- 启动服务器后能够正常通过浏览器访问

② C:\Users\Administrator\Desktop\node\node-2\code

- 启动命令: `node ./03-path/01-server.js`
- 启动服务器后无法正常通过浏览器访问
- 原因: 控制台使用 ==当前绝路路径拼接readFile中的相对路径==,所以读取文件失败
## 4. 路径变量
- __dirname:获取==当前文件==所处目录的绝对路径
- __filename:获取当前文件的绝对路径
## 2.3 Path模块 (系统模块)

1) join(,,,,)方法: ==能够根据不同参数不同系统组装不同的文件地址== /

2) sep 属性: / 或 \   ,  windows系统下是 \   ;   类 unix 系统下是  /

3) dirname('xxxxx'):  获取文件路径 (不包含文件名)

4) basename():  获取文件名 (不包含目录路径)

5) extname():  获取文件后缀

5. 模板引擎介绍

- 模板引擎的本质是一种==字符串拼接技术==
- 按照规则在模板页(网页)上挖坑,布置数据规则
- 再将数据和模板组合成一个字符串

## 3.2 art-template基本使用

使用art-template模板引擎遵循以下步骤即可:

- 1) 安装 / 下载 模板引擎  (npm i art-template) 补充说明:如果不能正常安装,先执行命令npm init -y
- 2) 加载 art-template 模块 (require)
- 3) 准备模板页(一般是html页面) 和  要显示在页面上的数据 (js 对象)
- 4) 调用模板引擎核心方法(template)组装模板和数据,得到一个字符串
- 5) 将组装好的字符串返回给浏览器
# 4. 表单提交

表单标签: form、input、select-option、textarea

表单提交有两种方式 get(默认) 和 post(常用)

回复

使用道具 举报

关注0

粉丝0

帖子59

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

客服电话:18009298968

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

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

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