HTTP 請求報文 方法

HTTP 請求報文 中,方法(Method) 是用來說明客戶端希望對服務器資源執行的操作。它出現在 HTTP 報文的第一行,稱為 請求行,格式如下:

METHOD  Request-URI  HTTP-Version

例如:

GET /index.html HTTP/1.1

? 常見 HTTP 方法詳解

方法名含義是否有請求體是否冪等常見用途
GET獲取資源? 是瀏覽網頁、獲取數據
POST提交資源(如表單)? 是? 否登錄、注冊、上傳數據
PUT更新資源(整體替換)? 是? 是修改整個用戶信息等
DELETE刪除資源否(可選體)? 是刪除記錄、數據等
HEAD獲取響應頭,不返回內容體? 是檢查資源是否存在
OPTIONS詢問支持的方法? 是CORS 預檢、功能探測
PATCH局部更新資源? 是? 有爭議(大多數認為是)局部修改用戶資料等
TRACE回顯請求報文? 是調試用,不常見
CONNECT用于建立隧道(如 HTTPS)? 否HTTPS代理

冪等(Idempotent)


? 一句話定義:

冪等操作:無論執行一次還是執行多次,其對系統的最終影響是一樣的。


🎯 通俗解釋

你可以把“冪等”理解為:

  • “我重復點多少次這個按鈕,最終結果都一樣。”

🔍 方法詳解

1. GET

  • 用途:獲取資源。

  • 特點

    • 參數通過 URL 傳遞(?key=value)
    • 不應產生副作用(不修改資源)
    • 不能帶請求體

2. POST

  • 用途:向服務器提交數據。

  • 特點

    • 請求體中包含數據(如表單、JSON)
    • 常用于登錄、注冊、上傳
    • 不冪等,連續發送多次會產生多次影響

3. PUT

  • 用途:更新(替換)指定資源。

  • 特點

    • 是冪等的:多次調用效果一樣
    • 請求體中包含完整的新資源
    • 常用于 REST API 中修改資源

4. DELETE

  • 用途:刪除資源。

  • 特點

    • 通常是冪等的:刪除一次和多次一樣
    • 不一定有請求體

5. HEAD

  • 與 GET 類似,但不返回響應體,只返回響應頭。

  • 常用于:

    • 測試資源是否存在
    • 檢查資源是否被修改(配合 ETag

6. OPTIONS

  • 查看服務器允許的 HTTP 方法。
  • 用于跨域請求的預檢請求(preflight)

返回響應頭如:

Allow: GET, POST, OPTIONS

7. PATCH

  • 與 PUT 不同,它是部分更新資源。
  • 用于只修改一個字段或局部數據。
  • 示例:只更新用戶名,而不提交整個用戶對象。

🚨 冪等性說明

  • 冪等:調用一次與多次效果一致(無副作用)
  • 非冪等:多次調用可能產生不同影響
方法冪等性
GET? 冪等
PUT? 冪等
DELETE? 冪等
POST? 非冪等
PATCH? 通常認為是

🧾 示例:完整 HTTP 請求報文

POST /api/login HTTP/1.1
Host: www.example.com
Content-Type: application/json
Content-Length: 38{"username": "admin","password": "123456"
}

如你還想看某個方法的具體交互過程(如 OPTIONS 的跨域示例、PATCH 的 JSON格式)或使用工具如 curlPostman 測試,我可以繼續講解。需要嗎?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/85027.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/85027.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/85027.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【深度解析】Java高級并發模式與實踐:從ThreadLocal到無鎖編程,全面避坑指南!

🔍 一、ThreadLocal:線程隔離的利器與內存泄露陷阱 底層原理揭秘: 每個線程內部維護ThreadLocalMap,Key為弱引用的ThreadLocal對象,Value為存儲的值。這種設計導致了經典內存泄露場景: // 典型應用&#…

使用存儲型 XSS 竊取 cookie 并發送到你控制的服務器

🧪 第一步:準備監聽服務接收 cookie 在你的本機(非容器)或 DVWA 所在主機運行以下 Python 監聽代碼,用于接收竊取的 cookie: 啟動 HTTP 接收服務 # 在本機終端運行,監聽 8081 端口&#xff0…

WebDebugX和多工具組合的移動端調試流程構建:一個混合App項目的實踐案例

前段時間參與了一個跨平臺的醫療服務 App 項目,整體架構采用 Flutter 封裝原生模塊,部分功能模塊嵌套 WebView 加載 H5 頁面。開發過程中我們頻繁遇到 Web 頁面在移動端表現異常的問題,比如樣式錯亂、請求失敗、性能延遲等,而這些…

圖形編輯器基于Paper.js教程29:基于圖層的所有矢量圖元的填充規則實現

背景 在lightburn中,對于填充圖層,有這樣一個隱藏的邏輯,那就是,在加工時,填充規則是以填充圖層的所有元素進行計算的,什么意思那? 如果你在填充圖層中畫了兩個圖形,一個圓&#xf…

Python 函數實戰指南:提升編程效率的實用技巧

在 Python 編程的世界里,函數是構建高效代碼的基石。掌握實用的函數技巧不僅能讓代碼更加簡潔優雅,還能顯著提升開發效率。我們一起將結合實際案例,深入剖析 Python 函數的使用技巧,幫助開發者在日常開發中事半功倍。 一、基礎函數…

OPenCV CUDA模塊圖形變換----構建透視變換映射表函數buildWarpPerspectiveMaps()

操作系統:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 編程語言:C11 算法描述 該函數用于構建一個透視變換(Perspective Transform)的映射表(xmap / ymap),可用于后…

tcping工具使用指南

tcping是一個用于測試TCP端口連通性的工具,它類似于傳統的ping命令,但工作在傳輸層(TCP)而不是網絡層(ICMP)。 基本功能 tcping的主要功能包括: 測試目標主機特定TCP端口是否開放 測量TCP連接建立時間 統計丟包率和響應時間 安裝方法 …

CSP 2024 入門級第一輪(88.5)

4. 以下哪個序列對應數字 00 至 88 的 44 位二進制格雷碼(Gray code)?( ) A. 0000, 0001, 0011, 0010, 0110, 0111, 0101, 1000 B. 0000, 0001, 0011, 0010, 0110, 0111, 0100, 0101 C. 0000, 0001, 0011, 0010, …

三菱FX-5U系列入門到精通

第2章 中間繼電器 繼電器工作模式:線圈得電,常開觸點閉合,常閉觸點斷開。總結:中間繼電器線圈電壓分為:24VDC 110VAC 220VAC 380VAC PLC控制柜中常用的是24VDC比較多,而動力電柜中或者控制風機水泵的電柜中220VAC比較多。大部分選擇24VDC,然后用觸點控制220或者380,說白…

簡歷模板1——王明 | 高級數據挖掘工程師 | 5年經驗

王明 | 高級數據挖掘工程師 | 5年經驗 📱 (86) 189-xxxx-xxxx | 📧 wangmingemail.com | 📍 深圳市 💻 GitHub | 👔 LinkedIn 💼 工作經歷 ?科技前沿集團 | 高級數據挖掘工程師 📅 2021.06 …

【JVM】- 內存模式

Java內存模型:JMM(Java Memory Model),定義了一套在多線程環境下,讀寫共享數據(成員變量、數組)時,對數據的可見性,有序性和原子性的規則和保障。 原子性 問題分析 【問…

AQS獨占模式——資源獲取和釋放源碼分析

AQS資源獲取(獨占模式) Node節點類 static final class Node {//標記當前節點的線程在共享模式下等待。static final Node SHARED new Node();//標記當前節點的線程在獨占模式下等待。static final Node EXCLUSIVE null;//waitStatus的值&#xff0c…

壓測過程中TPS上不去可能是什么原因

進行性能分析 接口沒有報錯或者錯誤率低于1%,繼續增加并發還是一樣,這個時候需要考慮幾點 1.是否觸發限流,比如waf、Nginx等情況,有沒有一些限流的情況,如果觸發了限流,請求是沒有達到后端的,所…

Golang 解大整數乘法

文章目錄 Golang 解大整數乘法問題描述:LeetCode 43. 字符串相乘思路Golang 代碼 Golang 解大整數乘法 在初學 C 語言的時候,我們一定接觸過“字符串相加”或“字符串相乘”之類的問題,對于初學者而言,這類問題的難度一般來說是比…

web3-區塊鏈的技術安全/經濟安全以及去杠桿螺旋(經濟穩定)

web3-區塊鏈的技術安全/經濟安全以及去杠桿螺旋(經濟穩定) 三個基本設計問題 技術安全 在技術結構中對其進行原子級的、瞬時利用(無風險) 無風險,因為攻擊者的結果還是二進制的: 只會是攻擊成功 獲利或…

Java多線程通信:wait/notify與sleep的深度剖析(時序圖詳解)

在Java多線程編程中,線程間的通信與協作是實現復雜并發邏輯的關鍵。wait()、notify()以及sleep()方法作為線程控制的重要工具,有著各自獨特的使用場景與規則。本文將深入探討wait()和notify()的協作機制,以及sleep()的阻塞特性,同…

關于使用EasyExcel、 Vue3實現導入導出功能

后端部分: 其中查詢數據的服務省略 1、引用 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.3.3</version></dependency> 2、controller package com.rs.cphs.sys.controller;i…

機器學習中的數據準備關鍵技術

有效的數據準備對于構建強大的機器學習模型至關重要。本文檔總結并闡述了為監督和非監督學習任務準備數據的關鍵技術。 1. 理解數據類型 有兩種數據類型。定性數據描述對象的特征&#xff0c;而定量數據描述對象的數量。 定性&#xff08;分類&#xff09;數據 名義&#x…

深度學習——基于卷積神經網絡實現食物圖像分類【3】(保存最優模型)

文章目錄 引言一、項目概述二、環境配置三、數據預處理3.1 數據轉換設置3.2 數據集準備 四、自定義數據集類五、CNN模型架構六、訓練與評估流程6.1 訓練函數6.2 評估與模型保存 七、完整訓練流程八、模型保存與加載8.1 保存模型8.2 加載模型 九、優化建議十、常見問題解決十一、…

《棒球百科》棒球怎么玩·棒球9號位

用最簡單的方式介紹棒球的核心玩法和規則&#xff0c;完全零基礎也能看懂&#xff1a; 一句話目標 進攻方&#xff1a;用球棒把球打飛&#xff0c;然后拼命跑完4個壘包&#xff08;逆時針繞一圈&#xff09;得分。 防守方&#xff1a;想盡辦法讓進攻方出局&#xff0c;阻止他…