知識點(一)

一.網絡分層javascript

OSI的7層從上到下分別是 7 應用層 6 表示層 5 會話層 4 傳輸層 3 網絡層 2 數據鏈路層 1 物理層 ;css

其中高層(即七、六、五、4層)定義了應用程序的功能,下面3層(即三、二、1層)主要面向經過網絡的端到端的數據流。html

 

 


 

二.瀏覽器輸入一個url後前端

1.根據域名到DNS中找到IPvue

 

2.根據IP創建TCP鏈接(三次握手)java

 

3.鏈接創建成功發起http請求node

 

4.服務器響應http請求android

 

5.瀏覽器解析HTML代碼並請求html中的靜態資源(js,css)ios

 

6.關閉TCP鏈接(四次揮手)vuex

 

7.瀏覽器渲染頁面


 

三.前端保存數據

VUEX 保存在內存 刷新頁面清除

vuex是狀態管理機制,一個組件的數據變化會映射到使用此數據的其餘組件,即一個組件的數據變化,另外一個組件也能相應到

vuex用於組件間傳值cookie、localStorage、sessionStorage用於頁面間傳值

刷新頁面vuex存儲的值丟失,其餘三種變;

不變的數據可用localStorage存儲,

更新的數據用vuex存儲,

與服務器溝通的數據用cookie存儲。


 

四. 爲何data使用return的形式

 

JS中的實例是經過構造函數來創建的,每一個構造函數能夠new出不少個實例,那麼每一個實例都會繼承原型上的方法或屬性。

 

vue的data數據實際上是vue原型上的屬性,數據存在於內存當中

 

vue爲了保證每一個實例上的data數據的獨立性,規定了必須使用函數,而不是對象

 

由於使用對象的話,每一個實例(組件)上使用的data數據是相互影響的,這固然就不是咱們想要的了。

對象是對於內存地址的引用,直接定義個對象的話組件之間都會使用這個對象,這樣會形成組件之間數據相互影響


 

五. commonjs -->nodejs

爲了讓javascript更增強大,commonJs規範(CMD)應運而生,而它的最佳表明則是nodejs,nodejs是根據commonjs規範而創做的項目,能夠開發服務器端項目的項目。

JavaScript是沒有模塊化的,瀏覽器端引入依賴模塊都是經過script標籤的引入順序決定的,要麼就代碼所有寫在一個文件中,而且全部定義的變量和函數都是全局的。 


 

六.關於跨域

 同源策略限制了從同一個源加載的文檔或腳本如何與來自另外一個源的資源進行交互。這是一個用於隔離潛在惡意文件的重要安全機制。

瀏覽器是從兩個方面去作這個同源策略的,一是針對接口的請求,二是針對Dom的查


 

七.cookie

cookie你們應該知道,通常用來處理登陸等場景,目的是讓服務端知道誰發出的此次請求。若是你請求了接口進行登陸,服務端驗證經過後會在響應頭加入Set-Cookie字段,而後下次再發請求的時候,瀏覽器會自動將cookie附加在HTTP請求的頭字段Cookie中,服務端就能知道這個用戶已經登陸過了。


 

八.CSRF

   CSRF(Cross-site request forgery),中文名稱:跨站請求僞造,也被稱爲:one click attack/session riding,縮寫爲:CSRF/XSRF。
 你這能夠這麼理解CSRF攻擊:攻擊者盜用了你的身份,以你的名義發送惡意請求。

 

   要完成一次CSRF攻擊,受害者必須依次完成兩個步驟:

 

  1.登陸受信任網站A,並在本地生成Cookie。

 

  2.在不登出A的狀況下,訪問危險網站B。

   CSRF的防護能夠從服務端和客戶端兩方面着手,防護效果是從服務端着手效果比較好,如今通常的CSRF防護也都在服務端進行
  服務端的CSRF方式方法不少樣,但總的思想都是一致的,就是在客戶端頁面增長僞隨機數


 

九.weex

Weex 並不強依賴任何特定的前端框架。。Weex 的另外一個主要目標是跟進流行的 Web 開發技術並將其和原生開發的技術結合,實現開發效率和運行性能的高度統一。在開發階段,一個 Weex 頁面就像開發普通網頁同樣;在運行時,Weex 頁面又充分利用了各類操做系統的原生組件和能力

Weex 提供了一套基礎的內置組件。你能夠對這些基礎組件進行封裝、組合造成本身的組件;也能夠建立本身的全新組件來包裝操做系統提供的地圖、視頻等功能。能夠訪問 擴展 iOS 能力 和 擴展 Android 能力來了解如何去實現自定義組件。

在框架內部,Weex 使用原生組件來渲染,並儘量保持多平臺一致性。但在不一樣平臺上,或多或少會有一些渲染、行爲上的差別。好比對於 <switch> 組件,在不一樣平臺上的視覺效果是不一致的。


 

十.http請求錯誤碼

一些常見的狀態碼爲:

200 - 服務器成功返回網頁
404 - 請求的網頁不存在
503 - 服務不可用

詳細分解:

1xx(臨時響應)
表示臨時響應並須要請求者繼續執行操做的狀態代碼。

代碼  說明
100  (繼續) 請求者應當繼續提出請求。 服務器返回此代碼表示已收到請求的第一部分,正在等待其他部分。 
101  (切換協議) 請求者已要求服務器切換協議,服務器已確認並準備切換。

2xx (成功)
表示成功處理了請求的狀態代碼。

代碼  說明
200  (成功)  服務器已成功處理了請求。 一般,這表示服務器提供了請求的網頁。
201  (已建立)  請求成功而且服務器建立了新的資源。
202  (已接受)  服務器已接受請求,但還沒有處理。
203  (非受權信息)  服務器已成功處理了請求,但返回的信息可能來自另外一來源。
204  (無內容)  服務器成功處理了請求,但沒有返回任何內容。
205  (重置內容) 服務器成功處理了請求,但沒有返回任何內容。
206  (部份內容)  服務器成功處理了部分 GET 請求。

3xx (重定向)
表示要完成請求,須要進一步操做。 一般,這些狀態代碼用來重定向。

代碼  說明
300  (多種選擇)  針對請求,服務器可執行多種操做。 服務器可根據請求者 (user agent) 選擇一項操做,或提供操做列表供請求者選擇。
301  (永久移動)  請求的網頁已永久移動到新位置。 服務器返回此響應(對 GET 或 HEAD 請求的響應)時,會自動將請求者轉到新位置。
302  (臨時移動)  服務器目前從不一樣位置的網頁響應請求,但請求者應繼續使用原有位置來進行之後的請求。
303  (查看其餘位置) 請求者應當對不一樣的位置使用單獨的 GET 請求來檢索響應時,服務器返回此代碼。
304  (未修改) 自從上次請求後,請求的網頁未修改過。 服務器返回此響應時,不會返回網頁內容。
305  (使用代理) 請求者只能使用代理訪問請求的網頁。 若是服務器返回此響應,還表示請求者應使用代理。
307  (臨時重定向)  服務器目前從不一樣位置的網頁響應請求,但請求者應繼續使用原有位置來進行之後的請求。

4xx(請求錯誤)
這些狀態代碼表示請求可能出錯,妨礙了服務器的處理。

代碼  說明
400  (錯誤請求) 服務器不理解請求的語法。
401  (未受權) 請求要求身份驗證。 對於須要登陸的網頁,服務器可能返回此響應。
403  (禁止) 服務器拒絕請求。
404  (未找到) 服務器找不到請求的網頁。
405  (方法禁用) 禁用請求中指定的方法。
406  (不接受) 沒法使用請求的內容特性響應請求的網頁。
407  (須要代理受權) 此狀態代碼與 401(未受權)相似,但指定請求者應當受權使用代理。
408  (請求超時)  服務器等候請求時發生超時。
409  (衝突)  服務器在完成請求時發生衝突。 服務器必須在響應中包含有關衝突的信息。
410  (已刪除)  若是請求的資源已永久刪除,服務器就會返回此響應。
411  (須要有效長度) 服務器不接受不含有效內容長度標頭字段的請求。
412  (未知足前提條件) 服務器未知足請求者在請求中設置的其中一個前提條件。
413  (請求實體過大) 服務器沒法處理請求,由於請求實體過大,超出服務器的處理能力。
414  (請求的 URI 過長) 請求的 URI(一般爲網址)過長,服務器沒法處理。
415  (不支持的媒體類型) 請求的格式不受請求頁面的支持。
416  (請求範圍不符合要求) 若是頁面沒法提供請求的範圍,則服務器會返回此狀態代碼。
417  (未知足指望值) 服務器未知足"指望"請求標頭字段的要求。

5xx(服務器錯誤)
這些狀態代碼表示服務器在嘗試處理請求時發生內部錯誤。 這些錯誤多是服務器自己的錯誤,而不是請求出錯。

代碼  說明
500  (服務器內部錯誤)  服務器遇到錯誤,沒法完成請求。
501  (還沒有實施) 服務器不具有完成請求的功能。 例如,服務器沒法識別請求方法時可能會返回此代碼。
502  (錯誤網關) 服務器做爲網關或代理,從上游服務器收到無效響應。
503  (服務不可用) 服務器目前沒法使用(因爲超載或停機維護)。 一般,這只是暫時狀態。
504  (網關超時)  服務器做爲網關或代理,可是沒有及時從上游服務器收到請求。505  (HTTP 版本不受支持) 服務器不支持請求中所用的 HTTP 協議版本。

相關文章
相關標籤/搜索