**HTTP是一種能夠獲取如 HTML 這樣的網絡資源的 **protocol(通訊協議)。它是在 Web 上進行數據交換的基礎,是一種 client-server 協議,也就是說,請求通常是由像瀏覽器這樣的接受方發起的。一個完整的Web文檔通常是由不同的子文檔拼接而成的,像是文本、佈局描述、圖片、視頻、腳本等等。
1. HTTP請求交互的基本過程
2. HTTP請求報文
- 請求行:method url: GET/url, POST/url
- 多個請求頭
Host: www.baidu.com
Cookie: BAIDUID=AD3B0FA706E; BIDUPSID=AD3B0FA706;
Content-Type: application/x-www-form-urlencoded 或者 application/json
- 請求體
username=tom&pwd=123
{“username”: “tom”, “pwd”: 123}
3. HTTP響應報文
- 響應狀態行: status statusText
- 多個響應頭
Content-Type: text/html;charset=utf-8
Set-Cookie: BD_CK_SAM=1;path=/ - 響應體
html 文本/json 文本/js/css/圖片…
4. post請求體參數格式
- Content-Type:application/x-www.form-urlencoded;charset=utf-8
用於鍵值對參數,參數的鍵值用=連接,參數之間用&連接
例如: name=%E5%B0%8F%E6%98%8E&age=12
- Content-Type:application/json;charset=utf-8
用於 json 字符串參數
例如: {“name”: “%E5%B0%8F%E6%98%8E”, “age”: 12}
- Content-Type: multipart/form-data
用於文件上傳請求
5. 常見的響應狀態碼
200 OK 請求成功。一般用於GET與POST請求
201 Created 已創建。成功請求並創建了新的資源
401 Unauthhorized 未授權/請求要求用戶的身份認證
404 Not Found 服務器無法根據客戶端的請求找到資源
500 Internal Server Error 服務器內部錯誤,無法完成請求
6. 不同類型的請求及作用
7. API的分類
-
REST API: restful
(1) 發送請求進行CRUD哪個操作由請求方式來決定(2) 同一個請求路徑可以進行多個操作
(3) 請求方式會用到GET/POST/PUT/DELETE -
非 REST API: restless
(1) 請求方式不決定請求的CRUD操作
9. 使用 **json-server **搭建 REST API
9.1 json-server是什麼**?**
用來快速搭建 REST API 的工具包
9.2 如何使用json-server
- 全局安裝json-server
npm install -g json-server
- 目標根目錄下創建數據庫json文件:db.json
{
"posts": [
{ "id": 1, "title": "json-server", "author": "typicode" }
], "comments": [
{ "id": 1, "body": "some comment", "postId": 1 } ],
"profile": { "name": "typicode" } }
- 啓動服務器執行命令
json-server --watch db.json
總結:
本篇文章主要分享了有關http相關的技術知識點,爲後期的學習axios打下基礎。