除了GET方法,新的HTTP QUERY方法規範釋出
近日IETF提交新規範討論:定義了一種新的 HTTP 方法QUERY,QUERY方法作為一種安全、冪等的請求方法,可以攜帶請求內容。
大多數情況下,當請求中傳送的資料量太大而無法編碼到請求的 URI 中時,推薦採取QUERY方式。
例如,雖然這是一個常見且可互操作的查詢:
GET /feed?q=foo&limit=10&sort=-published HTTP/1.1 |
如果查詢引數擴充套件到幾千位元組或更多的資料,它可能不會正常執行,因為許多實現都限制了它們的大小。通常,這些限制是無法提前知道或發現的,因為請求可能會透過許多不協調的系統。此外,在目標 URI 中表達一些資料是低效的,因為它需要被編碼為一個有效的 URI。
因此,很多使用HTTP POST 方法作為使用 GET 的替代方法來執行查詢,這種變體與 GET 具有相同的基本限制。
POST /feed HTTP/1.1 Host: example.org Content-Type: application/x-www-form-urlencoded q=foo&limit=10&sort=-published |
QUERY 方法提供了一種解決方案,它跨越了使用 GET 和 POST 之間的差距。與 POST 一樣,查詢操作的輸入在請求的有效負載內傳遞,而不是作為請求 URI 的一部分。然而,與 POST 不同的是,該方法是明確安全和冪等的,允許快取和自動重試等功能執行。
“Accept-Query”響應頭域可以被伺服器用來直接表示對 QUERY 方法的支援,同時標識可以使用的特定查詢格式媒體型別。
注:Query = 帶有一堆body內容的GET
冪等性= QUERY 請求不會改變目標資源的狀態
詳細點選標題
相關文章
- HTTP方法_GET 對比 POSTHTTP
- OpenGL 4.5規範釋出
- 規範的位操作方法
- http請求中get和post方法的區別HTTP
- HTTP協議中請求方法的Get和PostHTTP協議
- 映象規範檢測工具釋出
- Open API Initiative釋出OpenAPI規範3.0.0API
- Servlet 3.1 規範預覽版釋出Servlet
- SAP官方釋出的ABAP程式設計規範程式設計
- HTTP 規範中的那些暗坑HTTP
- WeakMap get() 方法
- Map get() 方法
- URLSearchParams get() 方法
- Git工作流及釋出規範(App)GitAPP
- ECMAScript 2017 語言規範釋出
- W3C 釋出中文排版規範
- web前端介面切圖命名規範方法Web前端
- golang 註釋規範Golang
- CSS 註釋規範CSS
- JavaScript 註釋規範JavaScript
- iOS開發規範篇:清晰的初始化方法iOS
- Reflect.get() 方法
- restfulwebservice 呼叫方法 getRESTWeb
- 歐洲AI規範先行,值得肯定與借鑑 — 我看歐盟釋出AI道德規範AI
- Release釋出log遮蔽方法
- 介面自動化測試框架--http請求的get、post方法的實現框架HTTP
- Git工作流及釋出規範(BED-FED)Git
- springdatajpa 中get××方法與find××方法的區別Spring
- JavaScript中發出HTTP請求最常用的方法JavaScriptHTTP
- 使用request庫的get方法發起GET請求
- Proxy handler.get() 方法
- Sanic get() 方法/函式函式
- 快速生成get、set方法
- http params規範中,允許一個引數多次出現嗎?HTTP
- php 獲取 http 響應頭 get_headers 方法的一個細節PHPHTTPHeader
- iOS 企業 ipa釋出方法iOS
- get方式傳參的以post方法傳的解決方法
- OpenGL 4.5規範標準釋出,大大提升API效能!API