1、什么是前端
什么是前端?
任何與操作系統打交道的界面都可以稱之為前端。
手機界面的app,電腦界面的軟件
什么是后端?
不直接與用戶打交道的,而是控制核心代碼邏輯的運行
各種編程語言編寫的代碼
什么是全棧開發:
前后端都要會
優勢:知識面廣
劣勢:如果真的全棧的話壓力可能會大
前端學習思路:
聲明:這是一門獨立的學科,有前端工程師崗位,所以前端完整的學習內容六個月左右,在這里只學習基礎即可
程度:基本前端頁面搭建,前端后續內容的學習思路,看懂前端代碼即可
流程:HTML,CSS,JavaScript
2、BS架構
我們在編寫TCP服務端的時候。針對客戶端的選擇可以是自己寫的客戶端代碼也可以是瀏覽器充當客戶端(bs架構本質也是cs架構)
我們自己編寫的服務端發送的數據瀏覽器不識別,原因在於每個人服務端數據的格式千差萬別,瀏覽器無法自動識別
原因:沒有按照瀏覽器固定的格式發送
注:瀏覽器可以訪問很多服務端,如何做到無障礙的與這么多不同的程序員開發的軟件實時數據的交互
1.瀏覽器自身功能強大,自動識別並切換??可能嗎??太過於消耗中資源
2.大家統一一個與瀏覽器交互數據的方式(統一思想)
這里需要用到HTTP協議
import socket
server = socket.socket()
server.bind(('127.0.0.1', 8080))
server.listen(5)
while True:
coon, addr = server.accept()
while True:
data = coon.recv(1024)
if len(data) == 0:break
print(data)
coon.send(b'hello big baby')
"""瀏覽器訪問"""
上述代碼的瀏覽器訪問結果
請求已經發送並且響應回來了
但是返回的數據瀏覽器不認識!!!
3、HTTP協議(重點)
協議:大家商量好的一個共同認可的結果
HTTP協議:規定了瀏覽器與服務端直接數據交互的方式及其他事項
如果我們開發的時候不遵循該協議,瀏覽器不會識別我們的網站
那么網站需要自己編寫一個服務端
- HTTP四大特性:
- 基於請求響應:
服務端不會主動給客戶端發送消息,必須是客戶端先發送請求
注:想要主動給客戶端發送消息,可以使用其他協議 - 基於TCP,IP作用於應用層之上的協議
應用層(THHP),傳輸層,網絡層,數據鏈路層,物理連接層 - 無狀態
不保留客戶端的信息 - 無連接
兩者求請求之后立刻斷絕關系
- 基於請求響應:
- 數據格式
- 請求格式
- 請求首行(網絡請求方式)
- 請求頭(一堆K:V鍵值對)
- 換行\r\n
- 請求體(並不是所有請求都有請求體)
- 相應格式
- 響應首行(響應狀態碼)
- 響應頭(K:V鍵值對)
- 換行\r\n
- 響應體(即將交給瀏覽器的數據)
- 請求格式
- 響應狀態碼
用數字來表示一串中文的意思
1xx:服務端已經收到數據正在處理,可以繼續發送,也可以等待,這個狀態的時間很短
2xx:200 OK 請求成功,服務端也返回相應數據
3xx:重慶向(訪問a網頁,自動跳轉到b網頁)
4xx:403:沒有訪問權限。404:請求資源不存在
5xx:服務器出現了問題
注:公司內有自定義的狀態碼,之后到公司工作之后要寫出相對應的狀態碼意思文檔