01.前端必備知識
阿新 • • 發佈:2021-08-09
前端必備知識
1. web本質
import socket sk = socket.socket() sk.bind(("127.0.0.1", 8080)) sk.listen(5) while True: conn, addr = sk.accept() data = conn.recv(8096) # 這是服務端響應的格式,如果沒有則開啟瀏覽器得不到響應資訊 conn.send(b"HTTP/1.1 200 OK\r\n\r\n") conn.send(b"<h1>Hello world!</h1>") conn.close()
本質
:瀏覽器發請求 --> HTTP協議 --> 服務端接收請求 --> 服務端返回響應 --> 服務端把HTML檔案內容發給瀏覽器 --> 瀏覽器渲染頁面
2. http協議
show code
""" HTTP協議的由來(sql語句由來) 瀏覽器只有一個如何相容N多個服務端 """ # 四大特性 1 基於請求響應 2 基於TCP/IP作用於應用層之上的協議 3 無狀態 無論來多少次 都待你如初見 如何做到儲存使用者狀態??? cookie、session、token 4 無/短連結 請求來我響應你 之後就沒有聯絡了 長連結:websocket(群聊功能、服務端主動給客戶端傳送訊息) # 請求資料格式 請求首行(HTTP協議的版本,當前請求方式) 請求頭(一大堆k,v鍵值對) 請求體(並不是所有的請求方式都有請求體,get沒有post有) # 響應資料格式 響應首行(HTTP協議的版本,響應狀態碼) 響應頭(一大堆k,v鍵值對) 響應體(瀏覽器展示給使用者看的內容) # URL 統一資源定位符 類似於座標 # 請求方式 1.get請求 朝別人要資料(也是可以攜帶引數的,只不過引數不是放在請求體裡面的,而是直接放在url的後面) url?username=jason&password=123 2.post請求 朝別人提交資料 # 響應狀態碼 """用簡短的數字來表示一大串提示性資訊""" 1XX:服務端已經成功接收到了你的資料 正在處理你可以繼續提交 2XX:請求成功(200 OK) 3XX:重定向(你想訪問A頁面但是給你調到了B頁面) 4XX:請求錯誤(404請求資源不存在、403請求不符合條件) 5XX:服務端內部錯誤(500) ps:上述的狀態碼是HTTP協議規定的,其實到了公司之後每個公司還會自己定製自己的狀態及提示資訊 公司A 1000: 1001: 1002: 公司B 2001: 2002: 2003: ...