初识NODE

.什么是NODE?

node不是一中语言,是一个运行平台环境(跟浏览器很相似),是一个渲染和解析JS代码的环境平台,而且这个平台渲染JS的引擎就是谷歌的V8引擎,就是快!~
也就是说,JS不仅仅是可以在客户端(如浏览器)运行,还可以在node环境中运行,只要在服务器上安装node环境那么我们的JS就可以在服务端运行了

. node的特色

1)基于V8引擎进行解析和渲染:快!
2)单线程异步基于事件驱动处理的
3)无阻塞I/O操作(文件操作):当JS在客户端(浏览器)运行的时候,为了保护用户电脑信息的安全,浏览器是禁止JS代码操作用户本地的文件
但当JS代码在node环境运行的时候是可以操作本机的文件

.node跟谷歌浏览器的区别

1)谷歌浏览器的全局变量叫window
2)node的全局变量叫global,而且在node环境下不需要考虑兼容性

.node的功能模块

1)内置模块:node平台提供的
2)自定义模块:自己写的
[自定义模块:你在node运行环境中新建一个JS文件,你就相当于增加了一个自定义模块,模块之间是相互独立互不影响的]
[如果你想在另一个模块用到其他模块就需要引入]

引入方式:
首先将需要引入的模块暴露出来
module.exports.sum=sum;
module.exports.自定义属性名=要暴露出来的模块(函数或对象)
然后在要接受引入的模块接受暴露的模块所在的JS文件
var A=require("./A");
var一个变量A来承接暴露出来了模块
repuire("暴露模块的JS文件路径")
此时就相当于引入的模块写在了当前JS文件一样
之后就可以进行相关操作了

3)第三方模块:别人写好的,需要下载和引入
第三方模块网站:https://www.npmjs.com
node第三方模块的安装与使用npm install

例如:
npm install less 
上述dos命令表示在当前文件夹下安装less插件模块

DOS命令

ipconfig (MAC: ifconfig)
↑本机信息

ping www.baidu.com -t
查看网速 (MAC 不加 -t)
Ctrl+C 终止运行

cls:清屏 (mac: clear)
exit: 退出命令窗口
cd ../ 反会上一级目录
cd ./ 当前目录
cd / 返回根目录
D: 直接到D盘
cd 文件夹的名字 : 进入到指定文件夹
dir : 查看当前文件夹下的目录 (MAC:ls)
↑ dir /A 查看当前文件夹下所有文件(包括系统和隐藏文件)

mkdir 文件夹名字:创建文件夹
rmdir 文件夹名字:删除文件夹

copy con text.txt -> 按enter开始输入内容-->内容输入完成后按Ctrl+Z, 然后再按enter键, 这样就完成文件创建了
del text.txt 文件名.后缀 删除文件
按住shift+鼠标右键,选择在此处打开命令窗口

网站发布:

1.租一台服务器(阿里云服务器:主机/虚拟服务器)给服务器联网(以太网或WLAN),联网之后就会有个IP地址(外网IP地址[别人可以通过外网的IP找到我们的服务器])通常公司都会禁止IP访问
百度的服务器的外网IP: 61.135.169.121


2.买个域名(域名备案)
.cn/.com/.net/.org/.wang/.gov....

3.将自己的项目放到服务器上,上传到服务器指定磁盘上
FTP上传(一般用FileZilla..等工具上传)

4.发布项目(网站)一个服务器可以发布多个项目
每个项目各自占一个端口号,用端口号来区分每一个项目(0-65535)
发布网站的工具:IIS, Apache,NODE,nginx

5.域名解析(DNS解析)将我们购买的域名和服务器的IP地址关联起来,以后提到这个域名就关联的是这个服务器
PS: DNS服务器是一台服务器,是属于世界的万维网联盟,所有的域名解析都在这里进行

www.baidu.com IP: 61.135.169.121
www.jd.com IP: 111.206.231.1

HTTP请求步骤

打开一个网址到页面完全呈现经历了哪些步骤
第一步DNS服务器-> 域名解析服务器
客户端通过域名访问,到DNS服务器上找到对应的外网IP地址

www.baidu.com->61.135.169.121
(百度)

第二步通过外网IP找到对应的项目服务器
端口就是(0-65535)之间的任意数字

A:news 端口80
B:blog 端口81
C:... 端口...
再由FTP将项目(css,Js,HTML...)上传至指定端口

第三步通过端口号找到服务器上对应的项目文件(在发布的时候就已经将项目文件和端口号对应了)

以上三步为request请求部分

第四步服务器会把客户端需要请求的资源文件的源代码返回给客户端

第五步客户端进行解析文件,渲染页面,最终呈现在浏览器上

以上这两步是response响应部分

只有在request和response这两个部分都具备了才能形成一个完整的前后交互的模型"HTTP事物"

第六步客户端 浏览器 代码解析和页面渲染
W3C:一个非盈利机构,他就是用来制定变成规范和标准的地方
按照浏览器的开发标准和规范出来的浏览器都有个东西叫引擎(内核)
我们前端工程师也要按照标准和规范去写代码.
把符合标准的代码放到标准的浏览器中通过引擎来渲染
IE内核(Trident引擎):IE5-11 IE Edge,360,猎豹,百度...
Gecko:火狐
Webkit(V8引擎)最快的:Chrome,Safari,QQ
Presto引擎:Opera 欧朋

常见后台语言:↓
.net
C# C sharp
.....等


URI统一资源标识符

URI=URL+URN
URL:统一资源定位符
URN:统一资源名称

一个完整的URI:
https://www.baidu.com:443/xxx/xx.html?name=hh&age=10#video

↑ 其中
https:为第一部分
//www.baidu.com为第二部分
:443为第三部分
/xxx/xxx.html为第四部分
?name=hh$age=10为第五部分
#video为第六部分

第一部分
HTTP/HTTPS/FTP 传输协议
他是内容传输的媒介(快递公司)刻骨段通过传输协议把一些信息传给服务器,同样的服务端也可以吧一些信息返回给客户端
HTTP:超文本传输协议(除了传输文本之外还可以传输其他的内容如:图片,音频,视频[二进制流/base64])
HTTPS:更安全的HTTP,因为他的传输通道加密了(SSL加密)通常具有金钱和重要信息的网站都会采用HTTPS传输
FTP:一般都是将项目文件传到服务器上,采用一些工具(上传下载都可以)


第二部分 域名
一级域名/二级/三级...
一级域名:www.qq.com一级域名需要购买,二级,三级域名自己分配即可
二级域名:sports.qq.com
三级域名:kbs.sports.qq.com


第三部分 端口号
取值范围:0-65535之间的一个数
默认端口号
HTTP:80
HTTPS:443
FTP:21
比如:webstorm的默认端口号:63342


第四部分
请求资源的路径和名称
xxx/xxx.html 表示的是在当前项目下XXX文件夹下的xxx.html文件
/index.html 表示的是根目录下的index.html文件
在不指定文件目录的时候,默认进入的是index.html(因为我们在发布项目的时候会进入默认的入口)


第五部分
问号+参数?xxx=xxx&yyy=yyy....
1)客户端可以通过问号+参数的方式,给服务器传送一些信息

2)我们之前做H5交互简历的时候根据page=n,展示不同的区域

3)我们还可以传参数,但是这个参数服务器不需要,我们用它来做缓存处理(保证每次的URL都不一样,防止缓存旧数据)

第六部分
哈希值(HASH):#video
1)客户端也可以通过这种方式给服务器传数据(一般不用了)
2)锚点定位
3)通过HASH值实现页面的路由切换

posted @ 2017-06-26 13:37  和盛商行  阅读(245)  评论(0编辑  收藏  举报