資料互動
-
SSH
- 本質:非對稱公鑰私鑰加密(公鑰很大私鑰很小),基於機器語言對因式分解的處理十分困難
- 證書:
- 自頒發證書
- 第三方頒發證書
-
http
- 版本
- 1.0 短連線
- 1.1 長連線--keep alive(主流)
- 2.0 嘗試在應用層加入狀態=====(websocket屬於此版本)
- 版本
-
form
- 屬性
- action====提交地址
- method====提交方式====決定資料提交至伺服器的方式GET/POST/PUT/DELETE/HEAD
- enctype===編碼方式[application/x-www-form-uelencoded(預設,無法傳送大量資料),multipart-data(分塊,用於檔案或大資料上傳),純文字]
- 屬性
特點 | 容量 | |
---|---|---|
GET | 請求資料 | 32kb |
POST、PUT | 傳送資料 | 1m |
DELETE | 刪除命令 | |
HEAD | 要求只返回響應頭 |
內容 | |
---|---|
請求行 | 三點:請求方式,url,協議及版本 |
請求頭 | 編碼等規範 |
請求體 | get為空,post為資料 |
ajax原理
-
本質:XMLHttpRequest---(不相容IE6) 1. open 2. send 3. onreadstatechange
-
特點:1. 使用者體驗、效能高
-
XMLHttpRequest例項
- 屬性
- responseText
- 返回資料解析:
- eval() 存在安全問題===可能執行非預期程式碼
- JSON.parse()/JSON.stringify() 優先使用(不相容,低版本瀏覽器有問題)
- 返回資料解析:
- resposeXML
- responseText
- 方法
- readstate(readstate有五種狀態)
- 0===初始狀態 XMLHttpRequest例項剛建立完
- 1===連線 連線到伺服器
- 2===傳送請求 剛剛send完
- 3===接收完成---請求頭接收完成
- 4===接收完成---請求體接收完成
- status(http狀態碼==有五種)
- 1開頭=====訊息
- 2xx=====成功
- 3xx=====重定向
- 301 Moved Permanently 永久重定向===下次不再訪問本伺服器
- 302 臨時重定向===下次可能還訪問本伺服器
- 304 快取====本質是第一次伺服器端返回資料時會附加一個引數expire,代表資料快取時間,在下一次訪問時,若在expire時間之前,則客戶端訪問伺服器會攜帶一個屬性date,這樣伺服器就會返回304,意為快取內的即是最新,而禁用快取也有兩種方法
- 客戶端:每次訪問都不新增date屬性
- 服務端:每次訪問都返回最新資料
- 4xx 客戶端錯誤
- 5xx 服務端錯誤
- readstate(readstate有五種狀態)
- 屬性
-
安全問題
- xss 跨站指令碼攻擊
- DNS汙染(運營商)
- 跨域非預期程式碼執行(這也是為什麼ajax不允許跨域)
- 沙箱機制:隔離出的虛假系統
- 安卓不屬於沙箱環境
- ios是沙箱環境
- xss 跨站指令碼攻擊