網絡協議分爲哪幾層
- 物理層:物理層的任務是透明地傳送比特流
- 數據鏈路層:主要任務是負責在兩個相鄰結點之間的線路上無差錯地傳輸以幀爲單位的數據
- 網絡層:網絡層的主要任務是爲網絡上的不一樣主機提供通訊
- 傳輸層:是通訊子網和資源子網的接口和橋樑,起到了承上啓下的做用
- 會話層:組織和協調兩個會話進程之間的通訊,並對數據交換進行管理
- 表示層:協商和創建數據交換的格式,解決各應用程序之間在數據格式表示上的差別
- 應用層:用戶應用程序和網絡之間的接口,完成用戶但願在網絡上完成的各類工做
udp協議和tcp協議的區別
TCP/IP是面向鏈接的,UDP是無鏈接的。javascript
網絡三次握手
- 第一次握手:創建鏈接時,客戶端發送syn包(syn=j)到服務器,並進入SYN_SEND狀態,等待服務器確認;
- 第二次握手:服務器收到syn包,必須確認客戶的syn(ack=j+1),同時本身也發送一個SYN包(syn=k),即SYN+ACK包,此時服務器進入SYN_RECV狀態;
- 第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和服務器進入ESTABLISHED狀態,完成三次握手。
簡述http協議
- http是無鏈接:每次鏈接只處理一個請求,服務器處理完請求後,並收到客戶端的應答後,即斷開鏈接;
- http媒體是獨立的:只要客戶端和服務器端知道如何處理數據類型,任何數據均可以用http傳送;
- http無狀態:無狀態是指協議對於事物處理沒得記憶能力;
知道哪些狀態碼
- http協議前端常識
301和302的區別
301是永久重定向,302是臨時重定向css
css水平居中
- flex佈局設置flex-direction: row, 而後justify-content: center;
- flex佈局設置flex-direction: column, 而後align-items: center;
- 知道子元素寬度,用margin: 0 auto;
- 知道子元素寬度,position: absoulte; margin-right: -(子元素的寬度);
- 利用transform
…………html
flex佈局
flex佈局前端
js閉包
閉包就是可以讀取其餘函數內部變量的函數java
構造函數中寫return會怎麼樣
能夠直接調用並獲取返回值ajax
function A (a, b) {
this.a = a;
this.b = b;
return this.a + this.b;
}
A(1, 2) // 3
const a = new A(1, 2); // A {a: 1, b: 2}
怎麼手寫一個ajax請求
- 不考慮兼容ie低版本,新建一個XMLHttpRequest實例
const xhr = new XMLHTTPRequest();
- 調用open啓動一個請求,已備發送
// open接受三個參數,(請求方法,請求地址,是否異步)
xhr.open('get', 'example.com', false); // 同步請求會阻斷js執行
- 發送請求
xhr.send(null); // send接收一個參數,參數爲要發送的數據,若是不傳就必須爲null
建一個請求到發送的的完整案列
const xhr = new XMLHTTPRequest();
xhr.open('get', 'example.com', false);
xhr.send(null);
visiblety: false和display: none的區別
-
visibility: hidden
: 元素不顯示可是要佔用空間
-
display: none
: 元素不顯示且不佔用空間