一、初識前后端通信
1、前后端通信是什么
- 前端和后端數(shù)據(jù)交互的過程,可以看做是瀏覽器和服務(wù)器之間數(shù)據(jù)交互的過程
2、后端向前端發(fā)送數(shù)據(jù)
- 訪問頁面: 就是一個典型的后端向前端發(fā)送數(shù)據(jù)的例子
3、前端向后端發(fā)送數(shù)據(jù)
- 用戶注冊, 用戶填寫信息,提交到服務(wù)器,注冊成功
二、前后端通信的過程與概念解釋
1、前后端通信的過程
在請求和相應(yīng)中完成的

image.png
2、 概念解釋
- 前端:一般指瀏覽器端,屬于客戶端的一種
- 客戶端: 只要是能和服務(wù)器端通信的就叫客戶端
- 后端:服務(wù)端
三、前后端通信的方式
1、使用瀏覽器訪問網(wǎng)頁
在瀏覽器中輸入網(wǎng)址,按下回車,獲取到網(wǎng)頁內(nèi)容
2、HTML的標(biāo)簽
- 瀏覽器在解析html標(biāo)簽的時候,遇到一些特殊的標(biāo)簽,會再次向服務(wù)器發(fā)送請求,例如:link、img、script、iframe
chrome瀏覽器同一個域名下默認(rèn)可以同時并發(fā)發(fā)送6個請求。 - 瀏覽器解析的時候,不會像服務(wù)器發(fā)送其你去,但是用戶可以使用它們像服務(wù)器發(fā)送請求。如:a、form。
3、Ajax和Fetch
四、初識HTTP
1、HTTP是什么
- HyperText Transfer Protocol 超文本傳輸協(xié)議,HTTP 是一個請求-響應(yīng)協(xié)議。
- 超文本:原先一個個單一的文本,通過超鏈接將其聯(lián)系起來。由原先的單一的文本變成了可無限延伸、擴展的超級文本、立體文本
- HTML、JS、CSS、圖片、字體、音頻、視頻等等文件,都是通過 HTTP(超文本傳輸協(xié)議) 在服務(wù)器和瀏覽器之間傳輸
- 每一次前后端通信,前端需要主動向后端發(fā)出請求,后端接收到前端的請求后,可以給出響應(yīng)
2、HTTP請求和響應(yīng)的過程

image.png
五、HTTP報文
1、HTTP報文是什么
- 瀏覽器向服務(wù)器發(fā)送請求時,請求本身就是信息,叫請求報文
- 服務(wù)器向瀏覽器發(fā)送響應(yīng)時傳輸?shù)男畔ⅲ许憫?yīng)報文
3、HTTP報文格式
- 請求
- 請求頭:起始行+首部
- 請求體: 攜帶數(shù)據(jù)
- 響應(yīng)
- 響應(yīng)頭:起始行+首部
-
響應(yīng)體
image.png
- GET 請求,沒有請求體,數(shù)據(jù)通過請求頭攜帶
- POST 請求,有請求體,數(shù)據(jù)通過請求體攜帶
六、HTTP方法
1、常用的HTTP方法
- 瀏覽器發(fā)送請求時采用的方法,和相應(yīng)無關(guān)。
-
GET、POST、PUT、DELETE
2、HTTP 方法的語義
-
GET獲取數(shù)據(jù),資源、文件。 -
POST創(chuàng)建數(shù)據(jù), 一般用于注冊 -
PUT更新數(shù)據(jù),一般用于修改個人信息,修改密碼 -
DELETE刪除數(shù)據(jù)、一般用于刪除一條評論
3、RESTful 接口設(shè)計
- 一種借口涉及風(fēng)格,充分利用HTTP方法的語義
七、GET和POST
1、GET 方式
- 通過在請求頭中攜帶數(shù)據(jù)
- 能攜帶的數(shù)據(jù)量和地址的長度有關(guān)系,一般最多就幾k
- 可以被緩存
2、POST方式
- 既可以通過地址在請求頭中攜帶數(shù)據(jù),也可以在請求體中攜帶數(shù)據(jù)
- 能攜帶的數(shù)據(jù)量理論上是無限的
- 不會被緩存
攜帶少量的數(shù)據(jù),可以使用GET請求,大量的數(shù)據(jù)可以使用post請求
八、HTTP狀態(tài)碼
1、定義服務(wù)器對請求的處理結(jié)果,是服務(wù)器返回的。
2、HTTP狀態(tài)碼的語義
- 100~199 消息: 代表請求已被接收,正在處理,一般websocket使用
- 200 ~ 299 成功
- 300 ~ 399 重定向
- 301 永久性重定向,會緩存
- 302 臨時性重定向,不會緩存
- 304 文件沒有修改
- 400 ~ 499 請求錯誤
- 404 找不到資源
- 500 ~ 599 服務(wù)器錯誤
