1. 程式人生 > 其它 >前端入門 HTTP協議 HTML簡介

前端入門 HTTP協議 HTML簡介

目錄

前端和後端的概念

# 前端
	任何與使用者直接打交道的操作介面 都可以稱之為前端(前端介面、頁面)>>> 前臺接待
# 後端
	不直接與使用者打交道 主要負責內部真正的業務邏輯的執行 >>> 幕後操作者

前端學習之路
	專業的前端也需要培訓六個月 而我們作為後端開發工程師 只學最基本的最核心的 為以後的工作提供方便
    1.防止看不懂
    2.編寫簡單頁面
    3.逼急了轉前端
前端三劍客
	HTML      網頁的骨架
    CSS	 	  網頁的血肉
    JS        網頁動態效果(輪播圖)
舉例:
'''
蠟筆小新光著身子         HTML
穿裙子 抹口紅            CSS
丟根鋼管 舞起來           JS
'''

前端前戲

用chrome瀏覽器作為客戶端來訪問我們程式碼寫的服務端:

1.編寫服務端程式碼
2.讓瀏覽器作為客戶端訪問服務端
3.瀏覽器無法正常展示

import socket

server = socket.socket()
server.bind(('localhost',8080))
server.listen(5)

conn, address = server.accept()
data = conn.recv(1024)
print(data)
conn.send(b'hello world')

瀏覽器:

響應無效:瀏覽器接受到了服務端傳的訊息,只不過無法解析。
服務端:

資料互動的協議

1. 一個瀏覽器可以訪問多個服務端。每個服務端是由不同的程式設計師寫的。
2. 服務端有資格規定傳輸的資料格式,瀏覽器如何知道根據不同資料做不同處理?
3. 所以規定只要想讓瀏覽器訪問,服務端就必須遵循一些公共的標準。如:HTTP協議
4. HTTP協議規定了瀏覽器和服務端之間資料互動的格式。
5. 瀏覽器響應無效的原因:服務端傳輸的格式不對,解析不出來。
'''
補充:
使用C/S架構可以不遵循HTTP協議,因為自己寫客戶端和服務程式碼。
'''

HTTP協議

1.四大特性

1. 基於請求響應

    客戶端傳送的資訊(請求)
    服務端迴應的資訊(響應)
    服務端永遠不會主動給客戶端發訊息(高冷)

2. 基於TCP、IP作用與應用層之上的協議

    只需要知道HTTP是在應用層的

3. 無狀態

    簡單的理解為:
    服務端不會儲存客戶端的狀態
   (服務端記不住人)
    縱使見他千百遍 我都當她如初見
    cookies

4. 無\短連線

    客戶端與服務端不會長久保持連線(資料發完就立即斷開連線,不留瓜葛)
    如果想要長連線 可以使用websocket協議

2.資料格式

  1. 請求格式
    請求首行(請求方式 請求方式有很多種 協議版本)
    請求頭 一大堆k:v鍵值對 類似報頭
    換行
    請求體 存放敏感資訊(如使用者名稱密碼)(並不是所有的請求方式都有請求體)
  1. 響應格式
    (響應格式應該和請求格式一樣)
    響應首行(狀態碼 協議版本)
    響應頭 一大堆k:v鍵值對
    換行
    響應體 (存放給瀏覽器展示的資料)

3.響應狀態碼(status code)

  1. 響應狀態碼的作用:
    用數字來表達一些文字意義(類似於暗號)
    便於記憶,方便理解,更快捷。
  2. 常見響應狀態碼:
    1xx 短暫 服務端已經接受到了你的請求 客戶端可以繼續傳送或者等待
    2xx: 200 ok 請求成功 服務端傳送了對應的響應
    3xx: 302 304 分為臨時重定向(可以在跳回來) 永久重定向(回不來了)
    4xx:403訪問許可權不夠 404請求資源不存在(地址沒有對應的資料)
    5xx:服務端內部錯誤
    1xxxx:自定義響應狀態碼 10000起步

什麼叫重定向?新增購物車,跳轉到登入。原本想訪問網頁A,卻自動讓你訪問網頁B

自定義響應狀態碼:10000起步!(聚合資料):

websocket協議

網路彈窗:websocket協議
微信加好友:永遠連著一個通道 websocket協議
將客戶端和服務端永久連線 可以支援服務端主動和客戶端發訊息
更多:https://blog.csdn.net/qq_58467694/article/details/125267043

HTML簡介

1.直接傳送手寫的資料
2.轉為傳送檔案裡面的資料
3.編寫HTML出現特殊的現象

特點:所見即所得(沒有任何邏輯 寫什麼就是什麼)

重寫服務端,使得瀏覽器可以訪問:

給瀏覽器傳輸一個文字檔案:

給瀏覽器傳輸一個‘特殊的文字檔案’: