資料互動筆記

南方小菜發表於2019-03-16

資料互動

  • SSH

    • 本質:非對稱公鑰私鑰加密(公鑰很大私鑰很小),基於機器語言對因式分解的處理十分困難
    • 證書:
      • 自頒發證書
      • 第三方頒發證書
  • http

    • 版本
      1. 1.0 短連線
      2. 1.1 長連線--keep alive(主流)
      3. 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
        • 返回資料解析:
          1. eval() 存在安全問題===可能執行非預期程式碼
          2. JSON.parse()/JSON.stringify() 優先使用(不相容,低版本瀏覽器有問題)
      • resposeXML
    • 方法
      • readstate(readstate有五種狀態)
        • 0===初始狀態 XMLHttpRequest例項剛建立完
        • 1===連線 連線到伺服器
        • 2===傳送請求 剛剛send完
        • 3===接收完成---請求頭接收完成
        • 4===接收完成---請求體接收完成
      • status(http狀態碼==有五種)
        • 1開頭=====訊息
        • 2xx=====成功
        • 3xx=====重定向
          1. 301 Moved Permanently 永久重定向===下次不再訪問本伺服器
          2. 302 臨時重定向===下次可能還訪問本伺服器
          3. 304 快取====本質是第一次伺服器端返回資料時會附加一個引數expire,代表資料快取時間,在下一次訪問時,若在expire時間之前,則客戶端訪問伺服器會攜帶一個屬性date,這樣伺服器就會返回304,意為快取內的即是最新,而禁用快取也有兩種方法
            1. 客戶端:每次訪問都不新增date屬性
            2. 服務端:每次訪問都返回最新資料
        • 4xx 客戶端錯誤
        • 5xx 服務端錯誤
  • 安全問題

    • xss 跨站指令碼攻擊
      1. DNS汙染(運營商)
      2. 跨域非預期程式碼執行(這也是為什麼ajax不允許跨域)
    • 沙箱機制:隔離出的虛假系統
      1. 安卓不屬於沙箱環境
      2. ios是沙箱環境

相關文章