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
35
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
300
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
220
MinecraftにP2Pが来るぞ!
supurazako
0
98
あえてPHPでリアルタイム通信をやってみる
supurazako
0
390
標準化っていいな〜JANOGでの学び〜
supurazako
0
100
Other Decks in Technology
See All in Technology
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
5
25k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
12k
AIエージェントの自己改善をどう設計するか / How to Design Self-Improvement for AI Agents
22mi
25
16k
synctest時代のhttptest Go 1.27で変わるHTTPサーバテストの裏側 / go conference2026 synctest and httptest
budougumi0617
1
3k
ユーザー価値を届け続けるためにウォンテッドリーが大切にしている文化
kotaminato
0
170
株式会社シーエーシー エンジニア向け会社紹介資料
cac
0
57k
AIを活用するために決めた "やらないこと" - 価値に注目する / Not betting on AI
soudai
PRO
2
550
なぜ「決定性」が 決定的に重要なのか? Durable Execution 基盤の数理的理解 #serverlessjp / ServerlessDays Tokyo 2026
ytaka23
1
390
絵ではじめるKubernetesセキュリティ
aoi1
4
650
積み重なった技術負債への挑戦 〜初手としての全社ゴト化〜
techtekt
PRO
0
1.3k
「守り」で活用するオンデバイスLLM 〜写ってはいけないを総力戦で防ぐ〜 / iOSDC Japan 2026
nakamuuu
0
170
「ピッケル本」日本語版は4.0(第6版)が出版されるべき / pickaxe4-nagoyark05
kakutani
1
170
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Designing Experiences People Love
moore
143
24k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Language of Interfaces
destraynor
162
27k
Building an army of robots
kneath
307
46k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
The Spectacular Lies of Maps
axbom
PRO
1
990
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
230
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
450
Technical Leadership for Architectural Decision Making
baasie
3
570
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