[TOC]
## 前后端分离的相关问题
三个前后端分离带来的麻烦:
1. 权责往往不清晰,有很多临界的位置,谁管都可以,容易引发扯皮。
2. 沟通时间增多,因为毕竟是两个人工作嘛,需要不少的沟通
3. 除了沟通,还需要两边的代码调试,看看数据、展示通不通,这个时间也很不可控,尤其是如果环境特别复杂,调起来不仅麻烦重重,还很有挫败感。
## 传统多页应用与单页应用的区别
多页应用特征:
1. 页面内容由服务端模版生成;
2. 每次页面跳转都要经过服务端;
3. js 更多做的是动态效果;
> 代表类库:jquery mootools yui
单页面应用的特征:
1. 所有内容在前端生成,js承担更多的业务逻辑
2. 减轻服务器压力。页面路由不经过后端,后端只负责api
3. 可以完全还原用户测操作路径,是一种可回溯的用户交互路径(逻辑写的差的除外);
4. SEO难度较高。所有的内容都在一个页面中动态替换显示,所以在SEO上其有着天然的弱势(SSR解决,或页面静态化)
5. 初次加载耗时多。单页Web应用功能及显示效果,需要在加载页面的时候将JavaScript、CSS统一加载,部分页面可以在需要的时候加载。所以必须对JavaScript及CSS代码进行合并压缩处理,如果使用第三方库,建议使用一些大公司的CDN,因此带宽的消耗是必然的。
> 代表类库:angular vue react backbone
## 如何不通过前端自动设置Cookie?
有两个Http头部和Cookie有关:`Set-Cookie`和`Cookie`。
* `Set-Cookie`由服务器发送,它包含在响应请求的头部中。它用于在客户端创建一个`Cookie`
* `Cookie`头由客户端发送,包含在HTTP请求的头部中。注意,只有cookie的`domain`和`path`与请求的`URL`匹配才会发送这个cookie。
Set-Cookie响应头的格式如下所示:
```
Set-Cookie: <name>=<value>[; <name>=<value>]...
[; expires=<date>][; domain=<domain_name>]
[; path=<some_path>][; secure][; httponly]
```
`expires=<date>`: 设置cookie的有效期,如果cookie超过date所表示的日期时,cookie将失效。如果没有设置这个选项,那么cookie将在浏览器关闭时失效。
`secure` : 表示cookie只能被发送到http服务器。
`httponly` : 表示cookie不能被客户端脚本获取到。
> 参考:[http://www.cnblogs.com/lxwphp/p/9498157.html](http://www.cnblogs.com/lxwphp/p/9498157.html)
- 说明
- CSS与HTML
- BFC的特性及其常见应用
- CSS深入理解之margin
- CSS深入理解之line-height
- CSS盒模型相关知识
- CSS知识总结
- HTML知识总结
- 三栏布局五种方式
- JavaScript内置对象
- 1.循环
- 2.数组方法对比
- 3.字符串实用常操纪要
- JavaScript核心
- var、let、const定义变量
- this 的指向问题详解
- 箭头函数
- ES6部分知识归纳
- ES6的Class
- Promise和Async/await
- 面向对象的概念及JS中的表现
- 创建对象的九种方式
- JS的继承
- 闭包总结
- 构造函数与作用域
- 原型与原型链
- 函数的四种调用模式
- apply、call、bind详解
- JavaScript应用
- 1.JavaScript实现深拷贝与浅拷贝
- 2.函数防抖与节流
- 3.无阻塞脚本加载技术
- DOM
- 如何写出高性能DOM?
- 事件探秘
- 事件委托
- 操作DOM常用API详解
- 重排和重绘
- 运行机制与V8
- 浏览器的线程和进程
- Vue.js
- Vue.js知识点总结
- Vue-Router知识点总结
- 父子组件之间通信的十种方式
- 优化首屏加载
- 关于Vuex
- 前端路由原理及实现
- 在Vue.js编写更好的v-for循环的6种技巧
- 12个Vue.js开发技巧和窍门
- 网络协议
- HTTP缓存机制
- UDP协议
- TCP协议
- HTTPS协议
- HTTPS的背景知识、协议的需求、设计的难点
- HTTPS与HTTP的区别
- 框架与架构
- MVC、MVP、MVVM
- Gulp与Webpack的区别
- Angular React 和 Vue的比较
- 虚拟DOM和实际的DOM有何不同?
- 架构问题
- 工程化
- npm link命令
- npm scripts 使用指南
- 前端工程简史
- 常见的构建工具及其对比
- Webpack基本配置与概念
- 设计模式
- 工厂设计模式
- 单例设计模式
- 适配器模式
- 装饰器模式