雜文
-
let c = ''; cc.tirm() === ''// 為true -
console.dir();// 打印對象 - 數(shù)組的循環(huán)刪除 用for 循環(huán) i-- 刪除
-
findIndex()方法返回傳入一個測試條件(函數(shù))符合條件的數(shù)組第一個元素位置。 - 'use strict' 嚴(yán)格模式
Cookie
Cookie的maxAge決定著Cookie的有效期,單位為秒(Second)。Cookie中通過getMaxAge()方法與setMaxAge(int maxAge)方法來讀寫maxAge屬性。 如果maxAge屬性為正數(shù),則表示該Cookie會在maxAge秒之后自動失效。瀏覽器會將maxAge為正數(shù)的Cookie持久化,即寫到對應(yīng)的Cookie文件中。無論客戶關(guān)閉了瀏覽器還是電腦,只要還在maxAge秒之前,登錄網(wǎng)站時該Cookie仍然有效。下面代碼中的Cookie信息將永遠有效。
Cookie cookie = new Cookie("username","helloweenvsfei"); // 新建Cookie
cookie.setMaxAge(Integer.MAX_VALUE); // 設(shè)置生命周期為MAX_VALUE
response.addCookie(cookie); // 輸出到客戶端
如果maxAge為負數(shù),則表示該Cookie僅在本瀏覽器窗口以及本窗口打開的子窗口內(nèi)有效,關(guān)閉窗口后該Cookie即失效。maxAge為負數(shù)的Cookie,為臨時性Cookie,不會被持久化,不會被寫到Cookie文件中。Cookie信息保存在瀏覽器內(nèi)存中,因此關(guān)閉瀏覽器該Cookie就消失了。Cookie默認的maxAge值為–1。
如果maxAge為0,則表示刪除該Cookie。Cookie機制沒有提供刪除Cookie的方法,因此通過設(shè)置該Cookie即時失效實現(xiàn)刪除Cookie的效果。失效的Cookie會被瀏覽器從Cookie文件或者內(nèi)存中刪除:
Cookie cookie = new Cookie("username","helloweenvsfei"); // 新建Cookie
cookie.setMaxAge(0); // 設(shè)置生命周期為0,不能為負數(shù)
response.addCookie(cookie); // 必須執(zhí)行這一句
response對象提供的Cookie操作方法只有一個添加操作add(Cookie cookie)。要想修改Cookie只能使用一個同名的Cookie來覆蓋原來的Cookie,達到修改的目的。刪除時只需要把maxAge修改為0即可。
注意:從客戶端讀取Cookie時,包括maxAge在內(nèi)的其他屬性都是不可讀的,也不會被提交。瀏覽器提交Cookie時只會提交name與value屬性。maxAge屬性只被瀏覽器用來判斷Cookie是否過期。
頁面加載過程
- http協(xié)議的默認端口為80,https協(xié)議的 默認端口是443
- dns-prefetch DNS緩存 能有效減少請求
<link rel="dns-prefetch" > - 資源加載過程:
URL解析 --> DNS查詢 --> 資源請求 --> 瀏覽器解析 - 瀏覽器解析過程:
DOM --> js執(zhí)行 --> DOM --> 構(gòu)建渲染樹(根據(jù)dom和CSS) --> 布局(確認元素位置) --> 繪制
從地址欄輸入網(wǎng)址時,敲下回車后,發(fā)生哪些了哪些事情?
- 瀏覽器向DNS服務(wù)器(先查找緩存)查找輸入URL對應(yīng)的IP地址
- DNS服務(wù)器返回對應(yīng)的IP地址
- 瀏覽器根據(jù)IP地址與目標(biāo)web服務(wù)器在80端口上建立TCP連接
- 瀏覽器獲取請求頁面的html代碼
- 瀏覽器在顯示窗口內(nèi)渲染HTML
- 窗口關(guān)閉時,瀏覽器中止與服務(wù)器的連接
HTTP
相同點
- 都是采用同一個基礎(chǔ)協(xié)議作為HTPP或HTTPS客戶端—瀏覽器
- 設(shè)立一個連接到Web服務(wù)器指定的端口
- 服務(wù)器接收到請求,會返回一個狀態(tài)碼以及消息
- 系統(tǒng)使用統(tǒng)一資源定位器URI模式,因此資源可以被唯一指定
不同點
- HTTP的URL是以http://開頭。HTTPS的URL是以https://開頭
- HTTP是不安全的,HTTPS是安全的
- HTTP是80端口,HTTPS是443端口
- 在OSI網(wǎng)絡(luò)模型中,HTTP處于應(yīng)用層,HTTPS工作在傳輸層
- HTTP無需加密,HTTPS需要加密
- HTTP無需證書,HTTPS需要安裝證書
- http的連接很簡單,是無狀態(tài)的;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進行加密傳輸、身份認證的網(wǎng)絡(luò)協(xié)議,比http協(xié)議安全
- https協(xié)議需要到ca申請證書,一般免費證書較少,因而需要一定費用。
vue懶加載
- 懶加載也叫延遲加載,即在需要的時候進行加載,隨用隨載
- 在單頁應(yīng)用中,如果沒有應(yīng)用懶加載,運用webpack打包后的文件將會異常的大,造成進入首頁時,需要加載的內(nèi)容過多,延時過長,不利于用戶體驗,而運用懶加載則可以將頁面進行劃分,需要的時候加載頁面,可以有效的分擔(dān)首頁所承擔(dān)的加載壓力,減少首頁加載用時
//路由中配置異步組件
export default new Router({
routes: [
{
mode: 'history',
path: '/my',
name: 'my',
component: resolve => require(['../page/my/my.vue'], resolve),//懶加載
},
]
})
//實例中配置異步組件
components: {
historyTab: resolve => {require(['../../component/historyTab/historyTab.vue'], resolve)},//懶加載
//historyTab: () => import('../../component/historyTab/historyTab.vue')
},
// 全局注冊異步組件
Vue.component('mideaHeader', () => {
System.import('./component/header/header.vue')
})
學(xué)習(xí)目標(biāo)
- Git
最流行的版本控制系統(tǒng)之一。沒有 Git 再也無法生存。- SSH
它允許你遠程登錄到另一臺主機,這是另一個流行的、每個 Web 開發(fā)人員都應(yīng)該知道的網(wǎng)絡(luò)概念。- HTTP/HTTPS
HTTP 協(xié)議是 Web 的基礎(chǔ),對于 Web 開發(fā)人員來說,必須熟悉 HTTP 和 HTTPS。- 終端的基本用法:Linux 命令行基礎(chǔ)
不僅僅是 Web 開發(fā)人員,對于任何程序員來說,Linux 命令行都是非常非常重要的,我強烈建議你花一些時間來學(xué)習(xí)它們。
- 數(shù)據(jù)結(jié)構(gòu)和算法
這是任何程序的構(gòu)建塊,更好地了解算法和數(shù)據(jù)結(jié)構(gòu)是你在下一份工作或當(dāng)前工作中做得更好的關(guān)鍵。
如果你對學(xué)習(xí)算法和數(shù)據(jù)結(jié)構(gòu)感興趣,我建議你選擇你所了解的編程語言的課程。
- 字符編碼
如果你正在創(chuàng)建全球應(yīng)用程序,其中顯示了世界上許多不同語言的信息,那么你應(yīng)該精通字符編碼。它本質(zhì)上是告訴瀏覽器如何顯示你的數(shù)據(jù)。- GitHub
毫無疑問,每個程序員都應(yīng)該了解 Git 和 Github,因為它們是版本控制和代碼庫方面的標(biāo)準(zhǔn)。
webpack設(shè)置反向代理
- 正常的請求http://localhost:8086/manage/user/login.do,可能會請求不到需要在localhost后面加一個點,
http://localhost.:8086/manage/user/login.do;
加了點之后頁面打開會提示Invalid Host header
這個原因是:新版的webpack-dev-server出于安全考慮,默認檢查hostname,如果hostname不是配置內(nèi)的,將中斷訪問。
必須設(shè)置disableHostCheck: true
devServer: {
port: 8086, // 更改默認端口
disableHostCheck: true,
historyApiFallback: {
index: '/dist/index.html'
},
// 設(shè)置反向代理
proxy : {
'/manage' :{ /* 監(jiān)聽的地址例如ajax:(url: '/manage/user/login.do')*/
target:'http://admintest.happymmall.com',
changeOrigin:true,
}
}
}