代理服务器是介于客户端和Web服务器之间的另一台服务器;
代理服务器对外就表现为一个反向代理服务器;
- 当客户机向站点提出请求时,请求将转到代理服务器。
- 然后,代理服务器通过防火墙中的特定通路,将客户机的请求发送到内容服务器。
- 内容服务器再通过该通道将结果回传给代理服务器
- app.get相当于在服务器注册了一个监听get请求事件的侦听器,当请求的URL满足第一个参数时,执行后面的回调函数,该过程是异步的。
- 路由是一个可以被内部编译成正则表达式的简单字符串,可以通过req.params进行访问;
- 一个应用中可以定义多个路由,我们可以控制以令其转向下一个路由,Express提供了第三个参数即next()函数;
AngularJS
scope 作用域梳理
- 基于作用域视图在修改数据时会立刻更新 $scope,
- 同样的 $scope 发生改变时也会立刻重新渲染视图.
- 有了 scope 这样一个桥梁,应用的业务代码可以都在 controller 中,而数据都存放在controller 的 $scope 中.
- scope 对象在 AngularJS 中充当数据模型的作用,也就是一般 MVC 框架中 Model 得角色.但又不完全与通常意义上的数据模型一样,因为 $scope 并不处理和操作数据,它只是建立了视图和 HTML 之间的桥梁,让视图和 Controller 之间可以友好的通讯.
$scope 的生命周期有4个阶段:
1 创建
控制器或者指令创建时, AngularJS 会使用 $injector 创建一个新的作用域,然后在控制器或指令运行时,将作用域传递进去.
2 链接
AngularJS 启动后会将所有 scope对象附加或者说链接到视图上,所有创建 scope 对象的函数也会被附加到视图上.这些作用域将会注册当 AngularJS 上下文发生变化时需要运行的函数.也就是 $watch 函数, AngularJS 通过这些函数或者何时开始事件循环.
3 更新
一旦事件循环开始运行,就会开始执行自己的脏值检测.一旦检测到变化,就会触发 $scope 上指定的回调函数
4 销毁
通常来讲如果一个 scope 在视图中不再需要, AngularJS 会自己清理它.当然也可以通过 $destroy() 函数手动清理.