[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基本配置與概念
- 設計模式
- 工廠設計模式
- 單例設計模式
- 適配器模式
- 裝飾器模式