最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

前端HTTP請(qǐng)求方式之GET、POST與其他請(qǐng)求方法詳解

 更新時(shí)間:2026年04月04日 09:52:33   作者:tsumikistep  
GET和POST是HTTP協(xié)議最常用的兩種請(qǐng)求方法,下面這篇文章主要介紹了前端HTTP請(qǐng)求方式之GET、POST與其他請(qǐng)求方法的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

在前后端分離開(kāi)發(fā)中,最常見(jiàn)的問(wèn)題之一就是:

  • GET 和 POST 有什么區(qū)別?
  • PUT、DELETE、PATCH 是干什么的?
  • 為什么有的接口用 POST 不能用 GET?
  • 為什么有時(shí)候 GET 能成功,POST 卻報(bào)錯(cuò)?

本文系統(tǒng)整理 HTTP 請(qǐng)求方式的區(qū)別、原理與使用場(chǎng)景,結(jié)合 Vue + Axios 實(shí)際開(kāi)發(fā)說(shuō)明。

定義概念 + 縮寫(xiě)

一、HTTP 是什么?

HTTP(HyperText Transfer Protocol)

超文本傳輸協(xié)議,是瀏覽器與服務(wù)器之間通信的規(guī)則。

二、常見(jiàn)請(qǐng)求方式

方法作用是否修改數(shù)據(jù)
GET獲取數(shù)據(jù)
POST提交數(shù)據(jù)
PUT更新數(shù)據(jù)(整體替換)
PATCH局部更新
DELETE刪除數(shù)據(jù)
HEAD只獲取響應(yīng)頭
OPTIONS查詢(xún)支持的請(qǐng)求方式

性質(zhì)

一、GET 請(qǐng)求

特點(diǎn)

  • 用于獲取數(shù)據(jù)
  • 參數(shù)放在 URL 中
  • 可被緩存
  • 冪等(多次請(qǐng)求結(jié)果相同)

示例

axios.get('/api/user/list', {
  params: {
    page: 1,
    pageSize: 10
  }
})

生成的請(qǐng)求:

GET /api/user/list?page=1&pageSize=10

適用場(chǎng)景

  • 查詢(xún)列表
  • 查詢(xún)?cè)斍?/li>
  • 查詢(xún)分頁(yè)數(shù)據(jù)

二、POST 請(qǐng)求

特點(diǎn)

  • 用于提交數(shù)據(jù)
  • 數(shù)據(jù)放在請(qǐng)求體(body)
  • 不會(huì)被瀏覽器緩存
  • 常用于創(chuàng)建資源

示例

axios.post('/api/user/login', {
  username: 'admin',
  password: '123456'
})

數(shù)據(jù)不會(huì)出現(xiàn)在 URL 中。

適用場(chǎng)景

  • 登錄
  • 表單提交
  • 創(chuàng)建資源
  • 復(fù)雜查詢(xún)條件

三、PUT 請(qǐng)求

特點(diǎn)

  • 用于更新資源
  • 通常是“整體替換”
  • 冪等

示例

axios.put('/api/user', {
  id: 1,
  name: '張三',
  phone: '123456'
})

四、PATCH 請(qǐng)求

特點(diǎn)

  • 局部更新
  • 只修改某個(gè)字段
axios.patch('/api/user/1', {
  phone: '999999'
})

五、DELETE 請(qǐng)求

特點(diǎn)

  • 刪除資源
  • 一般通過(guò) id 刪除
axios.delete('/api/user', {
  params: { id: 1 }
})

六、GET 與 POST 核心區(qū)別總結(jié)

對(duì)比項(xiàng)GETPOST
參數(shù)位置URLBody
安全性較低較高
數(shù)據(jù)長(zhǎng)度有限制基本無(wú)限制
是否緩存
是否冪等
用途查詢(xún)提交

使用步驟

一、在 Axios 中的標(biāo)準(zhǔn)寫(xiě)法

統(tǒng)一寫(xiě)法(推薦)

axios({
  method: 'post',
  url: '/api/user/login',
  data: {
    username: 'admin',
    password: '123456'
  }
})

二、什么時(shí)候用 GET?

? 查詢(xún)

? 不修改服務(wù)器數(shù)據(jù)

? 參數(shù)簡(jiǎn)單

例如:

GET /admin/category/page?page=1&pageSize=10

三、什么時(shí)候用 POST?

? 登錄

? 提交表單

? 創(chuàng)建數(shù)據(jù)

? 查詢(xún)條件復(fù)雜

例如:

POST /admin/employee/login

四、為什么不能亂用 GET?

如果用 GET 做登錄:

GET /login?username=admin&password=123456

密碼會(huì)暴露在瀏覽器地址欄:

  • 不安全
  • 會(huì)被瀏覽器記錄
  • 會(huì)被代理服務(wù)器記錄

所以登錄必須用 POST。

五、RESTful 設(shè)計(jì)規(guī)范建議

操作方法
查詢(xún)列表GET
查詢(xún)單個(gè)GET
新增POST
修改PUT
局部修改PATCH
刪除DELETE

總結(jié)

  1. GET 用于查詢(xún),不修改數(shù)據(jù)
  2. POST 用于提交,修改服務(wù)器數(shù)據(jù)
  3. PUT 是整體更新
  4. PATCH 是局部更新
  5. DELETE 是刪除
  6. GET 參數(shù)在 URL,POST 參數(shù)在 body
  7. 登錄、密碼、敏感數(shù)據(jù)一定用 POST

一句話(huà)總結(jié):

GET 是“看”,POST 是“改”

參考文獻(xiàn)

[1] HTTP/1.1 協(xié)議規(guī)范
[2] Axios 官方文檔

到此這篇關(guān)于前端HTTP請(qǐng)求方式之GET、POST與其他請(qǐng)求方法的文章就介紹到這了,更多相關(guān)HTTP GET、POST與其他請(qǐng)求方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

瑞昌市| 兰西县| 南乐县| 高淳县| 兴业县| 黑河市| 大新县| 长沙县| 广水市| 枞阳县| 壶关县| 云梦县| 汉寿县| 泸州市| 连云港市| 烟台市| 凌源市| 平阳县| 建宁县| 天全县| 正镶白旗| 额尔古纳市| 沧州市| 泸州市| 民县| 长阳| 连城县| 崇文区| 肇源县| 信阳市| 禄丰县| 略阳县| 改则县| 青龙| 延庆县| 永昌县| 天祝| 皋兰县| 吉水县| 龙游县| 肃宁县|