https://nginx.org/en/nginx学习网址
一、nginx是一个http 服务功能和一个反向代理的服务器,一个邮件代理服务和一个TCP/UDP代理服务器
二、代理:
正向代理:客户端的请求送给服务器
反向代理:服务器的响应分给客户端
三、PV:
PV(Page View)访问量, 即页面浏览量或点击量,衡量网站用户访问的网页数量;在一定统计周期内用户每打开或刷新一个页面就记录1次,多次打开或刷新同一页面则浏览量累计。
IP:
IP(Internet Protocol)独立IP数,是指1天内多少个独立的IP浏览了页面,即统计不同的IP浏览用户数量。同一IP不管访问了几个页面,独立IP数均为1;不同的IP浏览页面,计数会加1。 IP是基于用户广域网IP地址来区分不同的访问者的,所以,多个用户(多个局域网IP)在同一个路由器(同一个广域网IP)内上网,可能被记录为一个独立IP访问者。如果用户不断更换IP,则有可能被多次统计。
UV:
UV(Unique Visitor)独立访客,统计1天内访问某站点的用户数(以cookie为依据);访问网站的一台电脑客户端为一个访客。可以理解成访问某网站的电脑的数量。网站判断来访电脑的身份是通过来访电脑的cookies实现的。如果更换了IP后但不清除cookies,再访问相同网站,该网站的统计中UV数是不变的。如果用户不保存cookies访问、清除了cookies或者更换设备访问,计数会加1。00:00-24:00内相同的客户端多次访问只计为1个访客。
四、域名与ip的区别:
ip是唯一的,每一台计算机只有一个ip地址
域名(DNS)
当我们的计算机想要和一个远程机器连接时,我们可以申请连接该机器ip地址下的DNS,例如:www.baidu.com。
连接的时候,DNS会提供一个ip地址,供服务器去找寻
所以,当我们在网址中输入:www.baidu.com,会获取到百度ip,并跳转页面
1.比如说:我们现在在"陕西省西安市大雁塔喷泉旁",那么这个"陕西省西安市大雁塔喷泉旁"就是一个域名,而具体的这个唯一的地方(陕西省西安市大雁塔喷泉旁)就是一个IP地址,它是一个实际的地址,物理地址
2.域名是相对于网站来说的,ip地址是相对于网络来说的,准确的说是通过dns服务器来完成的,你提交域名,他给你返回一个ip地址,也称之为域名解析),接着做出一个相应,将信息返回。
也就是:输入域名----域名解析服务器(dns)解析成ip地址---访问IP地址---完成访问的内容---返回信息
3.表示方法也不一样:域名一般是www.***.com(大多数)
IP地址也只能是:32位二进制(分割成4个8位的点分十进制数)(这里写的不太严谨,谢谢大家提出的问题,这里说的是在IPV4的情况下,当然在ipv6的情况下又是不一样的)
4.映射关系不同
internet上的ip地址是唯一的,一个IP地址对应一个计算机
一个域名对应一个ip地址或好多个IP地址:比如百度的ip(119.75.218.70)(119.75.217.109)
一台计算机上面可以有好多个服务,也就是一个ip地址对应了好多个域名
五、框架调研
为什么使用框架:提高开发效率和质量保障 让代码更好的组织,更快的开发; 代码分离的更清晰了,质量得到保障的概率就高;所有东西在一坨肯定没保障;
Vue.js
Vue.js 是一个用于创建 web 交互界面的库,是一个精简的MVVM。从技术角度讲,Vue.js 专注于 MVVM 模型的 ViewModel 层。它通过双向数据绑定把 View 层和 Model 层连接了起来。实际的 DOM 封装和输出格式都被抽象为了Directives 和 Filters。Vue.js和其他库相比是一个小而美的库,作者的主要目的是通过一个尽量简单的 API 产生可反映的数据绑定和可组合的视图组件,感觉作者的思路非常清晰。
优点:
- 简单:官方文档很清晰,比 Angular 简单易学。
- 快速:异步批处理方式更新 DOM。
- 组合:用解耦的、可复用的组件组合你的应用程序。
- 紧凑:~18kb min+gzip,且无依赖。
- 强大:表达式 & 无需声明依赖的可推导属性 (computed properties)。
- 对模块友好:可以通过 NPM、Bower 或 Duo 安装,不强迫你所有的代码都遵循 Angular 的各种规定,使用场景更加灵活。
缺点:
- 新生儿:Vue.js是一个新的项目,没有太多的社区跟问答,没有angular那么成熟
- 不支持IE8
AngularJS
AngularJS最近很火,追随者也很多。AngularJS 是一款来自 Google 的前端 JavaScript 框架,它的设计理念和功能却非常强大,它快速成为了 JavaScript 的主流框架,简化了前端开发的负担,来帮助开发者从事 web 开发。
优点:
- AngularJS 框架的体积非常小,但是设计理念和功能却非常强大,极大地简化前端开发的负担;
- 模板功能强大丰富,并且是声明式的,自带了丰富的Angular指令;
- 是一个比较完善的前端MVVM框架,包含模板,数据双向绑定,路由,模块化,服务,过滤器,依赖注入等所有功能;
- AngularJS VM (ViewModel) 或说它的 template (模板) 用 HTML 无需学其它语言, 尤其是 HTML-5 也是未来的趋势‘
- 简单容易上手,且社区比较多,团队合作起来也比较快;
缺点:
- 验证功能错误信息显示比较薄弱,需要写很多模板标签,没有jQuery Validate方便,所以我们自己封装了验证的错误信息提示
- 深入学习有难度,官方没有文档,需要自己看源码
- 操作数据即操作DOM,对ViewModel的操作都会同步到View与Model去
React
React 是近期非常热门的一个前端开发框架,其本身作为 MVC 中的 View 层可以用来构建 UI,也可以以插件的形式应用到 Web 应用非 UI 部分的构建中,轻松实现与其他 JS 框架的整合,比如 AngularJS。同时,React 通过对虚拟 DOM 中的微操作来实对现实际 DOM 的局部更新,提高性能。其组件的模块化开发提高了代码的可维护性。单向数据流的特点,让每个模块根据数据量自动更新,让开发者可以只专注于数据部分,改善程序的可预测性。
优点:
- React很大的特点就是“轻”
缺点:
- react本身只是view层!
- 现在还太新了很难说将来有没有大的API变化,目前在大的稳定的项目上采用React的,我也就只知道有Yahoo的Email
- React本身只是一个V而已,所以如果是大型项目想要一套完整的框架的话,也许还需要引入Flux和routing相关的东西
总结:
http://blog.jobbole.com/45511/
http://www.angularjs.wang/article-index-id-58.html
http://www.queyang.com/blog/archives/425
http://www.lovelucy.info/angularjs-best-practices.html
个人觉得,前端更倾向于 交互,体验。后端更倾向于 业务,数据。angular等框架的出现,前端能够更多的参与交互设计,将业务数据展示
AngularJS拥有丰富的功能集,它能通过降低代码编写需求的方式使开发过程变得更加轻松,它消除了我们在实现MVC架构时面临的种种难题。要 实现数据模型,你不需要写getter和setter函数了。此外,指令并不属于应用程序代码的组成部分,因此其他并行开发团队也可以对其加以管理。这一 切都最大程度降低了开发工作对开发人员的编程要求。