1. 程式人生 > 實用技巧 >關於前後端互動整理

關於前後端互動整理

前後端互動流程

前端傳送請求-->後端接收請求->後端傳送響應->前端接受響應

通常情況下的前端和後端的語言是不同的,比如前端使用JavaScript(TypeScript等),後端使用Java(GoLang等)。

程式語言和人類語言是類似的,不同的語言是無法交流的。

這時候就需要中間溝通的信使——HTTP協議。

HTTP使得前後端互動得以實現,前後端只需要按照HTTP的格式進行處理資料即可。

HTTP協議

HTTP報文的包含了兩個部分:請求和響應。

HTTP協議 - RFC2616

請求報文

包含請求頭、請求體。

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

http狀態碼 - wiki百科

前端

語言

JavaScript、TypeScript等。

TypeScript是JavaScript超集,在JavaScript基礎上增加了面向物件與靜態型別,使專案便於維護。

axios是一款優秀的js庫,用於實現AJAX。

具有相同功能的還有:XMLHttpRequest、Fetch等。

除錯工具

Browser console,請學會使用瀏覽器的控制檯。

後端

語言

Java、Python、GoLang等,Java使用較多。

框架

Spring Framework是一款優秀的框架,基於Spring開發的針對web的框架。