前端總結面試題(每日更新)第三天

ajax的工做原理

  1. 若是請求是get
// 建立xhr對象
var xhr = new XMLHttpRequest();
// 設置請求方式和路徑
xhr.open('GET',請求路徑);
// 發送請求
xhr.send(null);
// 註冊事件,獲取響應內容
xhr.onreadystatechange = function () {
    if(this.readystate === 4) {
        console.log(this.responseText)
    }
}
複製代碼
  1. 若是請求的事post
//建立xhr對象
var xhr = new XMLHttpRequest();
//設置請求方式和請求路徑
xhr.open('POST',請求路徑)
// 當post請求的時候,設置請求頭
// Content-type 告訴服務器發送過去的請求體的格式
xhr.setRequestHeader('Content-Type','application/json');
//發送請求體 
xhr.send(請求體)
// 註冊事件,接受響應內容
xhr.onreadystatechange = function () {
    if(this.readystate === 4) {
        console.log(this.reponseText)
    }
}
複製代碼

ajax 的最大特色是

Ajax能夠實現異步通訊效果,實現頁面局部刷新,帶來更好的用戶體驗,按需獲取數據,節約帶寬資源ajax

post 和 get 的區別

GET: 通常用於信息獲取,使用URL傳遞參數,對所發送信息的數量也有限制,通常在2000個字符,有的瀏覽器是8000個字符;

POST: 通常用於修改服務器上的資源,對所發的信息沒有限制在如下狀況中,使用POST請求:
數據庫

  1. 沒法使用緩存文件(更新服務器上的文件或數據庫)
  2. 向服務器發送大量數據(POST沒有數據量限制)
  3. 發送包含未知字符的用戶輸入時,POST比GET更穩定也更可靠

同步和異步的區別

同步:阻塞的
瀏覽器向服務器請求數據,服務器比較忙,瀏覽器一直等着(頁面會白屏),直到服務器返回數據,瀏覽 器才能顯示頁面

異步:非阻塞的
瀏覽器向服務器請求數據,服務器比較忙,瀏覽器能夠自如的幹原來的事情(顯示頁面),服務器返回 數據的時候通知瀏覽器一聲,瀏覽器把返回的數據再渲染到頁面,局部更新json

http常見的狀態碼

  1. 200 -- 成功,並返回數據
  2. 301 -- 永久移動,重定向
  3. 302 -- 臨時移動,可以使用原有的URL
  4. 400 -- 請求語法錯誤
  5. 401 -- 須要身份驗證
  6. 403 -- 拒絕請求
  7. 404 -- 資源不存在
  8. 500 -- 服務器返回錯誤

瀏覽器請求與響應過程

  1. 對輸入的URL進行DNS域名解析(找出對應的IP地址)
  2. 經過IP地址,創建TCP請求(三次握手協議)
  3. 發送HTTP請求與響應
  4. 解析渲染服務端響應數據
  5. 斷開TCP連接
相關文章
相關標籤/搜索