1. 程式人生 > >複習前面的(資料相關)

複習前面的(資料相關)

什麼時候請求資料:

>以前我們的資料都是寫死的,在真實的開發中,需要通過使用者的操作給使用者想要的資料

 

怎麼請求?

1.要麼用那5步

  let xhr = new XMLHttpRequest
  /* get方式請求,其實就是url的方式請求
  協議+域名+埠+?+查詢資訊+hash...
  這裡的url是拼接完整的 */
  xxx.onclick = function(){
    xhr.open('get',url,true);
    xhr.onreadystatechange = function(){
      xhr.readyState //能夠監聽到5步,每一步分成->0~4(分別代表什麼意思?)
      //0:請求未初始化
//1:伺服器連線已建立
      //2:請求已接收
      //3:請求處理中
      //4:請求已完成,且響應已就緒(http狀態碼)
      };
    xhr.send();//傳送
  }

   //第二種寫法
  xxx.onclick = function(){
    xhr.open('get',url,true);
    xhr.onload = function(){
      xhr.readyState
    };
    xhr.send();
  }
http常見的狀態碼:200/404/403...

101:切換協議 (比如:http->websocket)

200:客戶端成功接收到伺服器端的返回資料

301:永久重定向,資源(網頁等)被永久轉到其它URL

302:臨時重定向

304:載入快取

307:臨時重定向,針對的是http傳輸協議

400:訪問引數錯誤

401:沒有訪問許可權

403:伺服器接收到請求,但是拒絕處理。(一般見於檔案或目錄的許可權設定)

404:請求的地址(資源)不存在

413:客戶端請求的檔案超過服務端的最大承載容量

500:未知的服務端錯誤

503:伺服器超過最大的負荷

 

乙太網:分為兩個部分:1.標頭:誰接收、誰傳送、資料型別等。 2.資料 (head data)

MAC:就是接收和傳送的網絡卡地址

廣播:在傳送MAC地址的時候,會向本網路的所有計算機發送資料,這些計算機接收到資訊之後,會判斷MAC地址和自己是否匹配,匹配就接收,不匹配就丟棄。

網路地址:它的作用是引進一套新的地址,使得我們能夠區分不同的計算機是否屬於同一個子網路,這套地址就叫做“網路地址”,簡稱“網站”。

     (確定計算機所在的子網路,在通過MAC地址找到具體的某臺計算機)

IP:IPv4->我們用分成四段的十進位制數表示IP地址,從0.0.0.0 ~ 255.255.255.255

  分為兩個部分:1.代表網路 2.代表主機

  Ip資料包也分為“標頭”和“資料”兩部分(head data)

  IP資料包整體作為乙太網的資料部分,進行傳送。(head head data)

所謂“子網掩碼”就是代表子網路特徵(只要在同一個網路下,子網掩碼一定一樣)

ARP協議:當傳送資料的時候,2臺計算機在同一網路下(能獲取到IP地址,不能獲取MAC地址),而ARP協議,可以通過IP地址找到MAC地址

埠(port):“傳輸層”的功能,就是建立“埠到埠”的通訊。相比之下,“網路層”的功能是建立“主機到主機”的通訊。只要確定主機和埠,我們就能實現程式之間的交流。

UDP(協議)埠:有IP、發出埠和接收埠、MAC + 資料體(head head head data)

TCP協議:簡單理解是有(確認接收)機制的UDP協議,可以知道對方已接收資料包,如果沒收到就再次傳送。

     TCP協議能夠確保資料不會遺失。它的缺點是過程複雜、實現困難、消耗較多的資源。

post請求過程:1.瀏覽器請求tcp連線。2.伺服器答應進行tcp連線。3.瀏覽器確認,併發送post請求頭。4.伺服器返回100 Continue 響應。5.瀏覽器傳送資料。6.伺服器返回200 OK 響應

get請求過程:1.瀏覽器請求tcp連線。2.伺服器答應進行tcp連線。3.瀏覽器確認,併發送post請求頭和資料。4.伺服器返回200 OK響應。

 

2.fatch

3.第三方封裝的:(1)jquery的$.ajax (2)axios