Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
HTTPに新しいMethod! QUERY RFC10008
Search
Miyamoto Naoyuki
June 25, 2026
Technology
40
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
HTTPに新しいMethod! QUERY RFC10008
#03 札幌開催:はじめてのIT勉強会 in 札幌(2026)【オフライン開催】で使用した資料です。
Miyamoto Naoyuki
June 25, 2026
More Decks by Miyamoto Naoyuki
See All by Miyamoto Naoyuki
私がブラウザを自作したくなった理由
supurazako
1
320
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
250
MinecraftにP2Pが来るぞ!
supurazako
0
110
あえてPHPでリアルタイム通信をやってみる
supurazako
0
430
標準化っていいな〜JANOGでの学び〜
supurazako
0
110
Other Decks in Technology
See All in Technology
基本から分かる!AWSセキュリティ運用の考え方と任せ方
cmusudakeisuke
1
270
Don't write the architecture only in the prompt.
neohsu
0
270
Vibe-to-Spec開発_実践ガイド
happysamurai294
0
130
GitHub、使う?使わない?
happysamurai294
0
120
構造で守らせる データ・法務・セキュリティ・開発チームとつくる AI時代のデータガバナンスとデータ基盤のリアル
legalontechnologies
PRO
2
690
(swiftc) NonCopyableとライフタイム修飾子
teamhimeh
0
160
AIがGISを代替する日:〜すべてをAIが創る時代に、私たちがFOSS4Gに関わる意味〜
lehupa
0
130
キヨさん、67歳。AIコーディングエージェントに挑む
happysamurai294
0
130
How we choose session proposals
kawaguti
PRO
1
190
AI Search (Foundry IQ) におけるRAGデータの準備と配置
ryomaru0825
1
100
渡米前の準備を制す!re:Invent 2026徹底準備術 / The Ultimate Preparation Guide for re:Invent 2026
yuj1osm
1
440
Patterns in AI Driven Software Development
akosma
PRO
0
380
Featured
See All Featured
Test your architecture with Archunit
thirion
2
2.5k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
540
Crafting Experiences
bethany
1
390
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
47k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.9k
The SEO Collaboration Effect
kristinabergwall1
1
610
YesSQL, Process and Tooling at Scale
rocio
174
15k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
820
Large-scale JavaScript Application Architecture
addyosmani
516
110k
Transcript
HTTPに新しいMethod! QUERY 2026-06-25 #03 札幌開催:はじめてのIT勉強会 in 札 幌(2026)【オフライン開催】 宮本直幸@MSprzk 1
2 $ cat profile.service [Unit] Description=Self Introduction After=network.target [Profile] Name="Miyamoto
Naoyuki" Twitter="@Msprzk" Affiliation=" 北海道情報大学2 年" Interest="Network","Security","WebRTC"
今日話すこと HTTPメソッドとは何か 検索APIで GET がつらくなる場面 POST で検索すると何が気になるか 新しい QUERY メソッドの考え方
curlで実際に投げてみる 3
HTTPメソッドとは HTTPメソッド → このリクエストで何をしたいか を表す名前 e.g. GET , POST ,
PUT など 4
たとえばGET GET /items?q=banana&tag=fresh&limit=10 GET は、 「データを取ってくる」ためのメソッド 検索結果を取るだけなら、GET は自然 5
GETで困ること 検索条件が増えると、URLがどんどん長くなる! キーワード タグ 表示件数 並び順 期間 除外したい条件 6
bodyとは HTTPリクエストには、URLとは別に「中身」を入れられる → body と呼ぶ POST /items/search Content-Type: application/json {
"keyword": "banana", "tags": ["fresh", "sweet"], "limit": 10 } 7
POSTなら書きやすい POSTのメリット POST は body にJSONを書きやすいので、複雑な検索条件を表しやすい! POSTのデメリット 何かを送る 何かを作る データを変更する
という印象が強いメソッドである 8
検索で本当に言いたいこと 検索APIで言いたいのは、こういうこと↓ 条件は body に書きたい でも、やりたいことは「問い合わせ」 何回送ってもデータを壊さない HTTPメソッドを見ただけで、問い合わせだと伝えたい 9
そこでQUERY QUERY は、新しく定義されたHTTPメソッド ざっくり言うと、 body に条件を書ける、問い合わせ用のメソッド GET と POST の間にあった困りごとを埋める選択肢
10
GET / POST / QUERY GET データを取る URLに条件を書く 簡単な検索に向く POST
bodyを使いやすい 複雑な条件を書きやすい 問い合わせかどうか伝わりにくい 11
QUERYの立ち位置 QUERY は、検索や問い合わせを表すためのメソッドです。 条件を body に書ける 何回送ってもデータを壊さない 「これは問い合わせです」と伝えやすい 複雑な検索APIを自然に書きやすい 12
デモ: curlで投げる curl は、ターミナルからHTTPリクエストを送る道具です。 curl -X QUERY http://localhost:8080/search \ -H
'Content-Type: application/json' \ -d '{ "keyword": "banana", "tags": ["fresh", "sweet"], "limit": 10 }' 13
レスポンス例 { "received_method": "QUERY", "message": "QUERY request received", "query": {
"keyword": "banana", "tags": ["fresh", "sweet"], "limit": 10 }, "results": ["QUERY demo", "search result 1", "search result 2"] } 14
まとめ HTTPメソッドは「何をしたいか」を表す名前 GET は簡単な検索に向くが、条件が増えるとURLが長くなる POST は body を使えるが、問い合わせだと伝わりにくい QUERY は、body
に条件を書ける問い合わせ用メソッド 15