關於前後端互動整理
前後端互動流程
前端傳送請求-->後端接收請求->後端傳送響應->前端接受響應
通常情況下的前端和後端的語言是不同的,比如前端使用JavaScript(TypeScript等),後端使用Java(GoLang等)。
程式語言和人類語言是類似的,不同的語言是無法交流的。
這時候就需要中間溝通的信使——HTTP協議。
HTTP使得前後端互動得以實現,前後端只需要按照HTTP的格式進行處理資料即可。
HTTP協議
HTTP報文的包含了兩個部分:請求和響應。
請求報文
包含請求頭、請求體。
Request Header Fields
示例:
GET / HTTP/1.1 Host: www.google.com
引數:
Accept
Accept-Charset
Accept-Encoding
Accept-Language
Authorization
Expect
From
Host
If-Match
If-Modified-Since
If-None-Match
If-Range
If-Unmodified-Since
Max-Forwards
Proxy-Authorization
Range
Referer
TE
User-Agent
響應報文
響應包含了響應頭響應體。
Request Header Fields
示例:
HTTP/1.1 200 OK Content-Length: 3059 Server: GWS/2.0 Date: Sat, 11 Jan 2003 02:44:04 GMT Content-Type: text/html Cache-control: private Set-Cookie: PREF=ID=73d4aef52e57bae9:TM=1042253044:LM=1042253044:S=SMCc_HRPCQiqy X9j; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.com Connection: keep-alive
引數:
Accept-Ranges
Age
ETag
Location
Proxy-Authenticate
Retry-After
Server
Vary
WWW-Authenticate
Header Fields
狀態碼
狀態碼 | 具體含義 | 常見狀態 |
---|---|---|
1xx | 提示資訊,表示目前是協議處理的中間狀態; | |
2xx | 成功,報文已經收到並被正確處理; | 200、204、206 |
3xx | 重定向,資源位置發生變動,需要客戶端重新發送請求; | 301、302、304 |
4xx | 客戶端錯誤,請求報文有誤,伺服器無法處理; | 400、403、404 |
5xx | 伺服器錯誤,伺服器在處理請求時內部發生了錯誤。 | 500、501、502、503 |
前端
語言
JavaScript、TypeScript等。
TypeScript是JavaScript超集,在JavaScript基礎上增加了面向物件與靜態型別,使專案便於維護。
庫
axios是一款優秀的js庫,用於實現AJAX。
具有相同功能的還有:XMLHttpRequest、Fetch等。
除錯工具
Browser console,請學會使用瀏覽器的控制檯。
後端
語言
Java、Python、GoLang等,Java使用較多。
框架
Spring Framework
是一款優秀的框架,基於Spring
開發的針對web的框架。