Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
意外と曖昧なwebの基礎
Search
kigawa
December 15, 2024
Technology
0
81
意外と曖昧なwebの基礎
URLやHTMLなど何気なく使っているWEBの基礎でも分解して見ると意外と知らないことがあるかもしれません。
kigawa
December 15, 2024
Tweet
Share
More Decks by kigawa
See All by kigawa
自宅で立てるkubernetes
kigawa
0
64
Other Decks in Technology
See All in Technology
データの整合性を保ちたいだけなんだ
shoheimitani
4
1.3k
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
340
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.1k
2人で作ったAIダッシュボードが、開発組織の次の一手を照らした話― Cursor × SpecKit × 可視化の実践 ― Qiita AI Summit
noalisaai
1
370
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
0
110
Meshy Proプラン課金した
henjin0
0
180
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
2
800
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
140
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
420
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
1.2k
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.5k
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
73k
Featured
See All Featured
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
250
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Become a Pro
speakerdeck
PRO
31
5.8k
Building AI with AI
inesmontani
PRO
1
670
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
Code Reviewing Like a Champion
maltzj
527
40k
Building the Perfect Custom Keyboard
takai
2
680
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
71
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Transcript
意外と曖昧なweb の基礎 by kigawa
AboutMe { name =“kigawa” favorite { language = Kotlin.jvm os
= Debian region = LibraryDevelopment game = Minecraft } sns { X =“@kigawa20” GitHub =“kigawa01” } }
URL
Uniform Resource Locatorの略。 インターネット上の固有のリソースのアドレス。 URLとは HTML、CSS、画像などのアドレス。
http://example.com:80/path/to/file.html ?key=value&k=v#heading | Authority | Scheme Domain Port Path Parameters
Anchor
http://example.com:80/path/to/file.html ?key=value&k=v#heading Scheme
Scheme http://example.com:80/path/to/file.html ?key=value&k=v#heading Scheme プロトコル。データを転送するための方法。 http,https,mailto,ftpなど。
http://example.com:80/path/to/file.html ?key=value&k=v#heading | Authority | Domain Port
Authority //の後に続く。ドメインとポートからなる。 localhost:3000など。 http://example.com:80/path/to/file.html ?key=value&k=v#heading | Authority | Domain Port
Domain Webサーバーの場所を示す。IPアドレスの場合もある。 localhost,127.0.0.1,example.comなど。 http://example.com:80/path/to/file.html ?key=value&k=v#heading | Authority | Domain
ループバックアドレスという。 自身を表すアドレスのこと。 localhost/127.0.0.1とは? 例えば、http://localhostにアクセスすると、アクセスしたコンピューターと同 じコンピューターに接続される。
Port 出入口の番号。プロトコルの標準ポートは省略できる。 3000,80,443など。 http://example.com:80/path/to/file.html ?key=value&k=v#heading | Authority | Port
http://example.com:80/path/to/file.html ?key=value&k=v#heading Path
Path リソースへのパス。サーバー上のファイルの場所。 /index.html,/hello/index.phpなど http://example.com:80/path/to/file.html ?key=value&k=v#heading Path
http://example.com:80/path/to/file.html ?key=value&k=v#heading Parameters
引数(Parameters) キーと値を紐づけた追加の引数。Queryと言う場合もある。 Key=value,q=hello,sort=dateなど http://example.com:80/path/to/file.html ?key=value&k=v#heading Parameters
http://example.com:80/path/to/file.html ?key=value&k=v#heading Anchor
Ancher 見出しを指定できる。サーバーに送られることはない。 #index,#linkなど http://example.com:80/path/to/file.html ?key=value&k=v#heading Anchor
HTTP
リソースを読み取るためのプロトコル。 Webにおけるデータ交換に使われる。 HTTPとは HTML、CSS、画像などを送受信する。
リクエストのデータ client server • メソッド • URL • バージョン •
ヘッダー • Body
レスポンスのデータ client server • バージョン • ステータスコード • ステータスメッセージ •
ヘッダー • Body
client server • メソッド リクエスト
HTTPリクエスト・レスポンスの動作を指定する。 GET,POST,PUT,DELETE,PATCHを使うことが多い。 メソッド ほかにはCONNECT,HEAD,OPTIONS,TRACEなどがある。
リソースを取得する。 データを送信はしてはいけない。 GETメソッド
サーバーにリソースを送信する。 リソースを追加するなど。 POSTメソッド
client server • ヘッダー リクエスト • ヘッダー レスポンス
追加の情報を送信するための物。 Content-Type,Authorizationなどを使うこと が多い。 ヘッダー ほかにはAccept,Access-Control-Allow-Originなどがある。
client server • ステータスコード レスポンス
HTTPリクエストが正常に終了したかを表す。 200,201,404,401,418,503など多くある。 ステータスコード 1xx(情報),2xx(成功),3xx(リダイレクト),4xx(クライアントエラー), 5xx(サーバーエラー)に分けられる。
client server • Body リクエスト • Body レスポンス
POSTやPUTリクエストの際に送信するデータ。 Form Data,Json,xmlなどの形式が使える。 Request Body データの形式はContent-Typeヘッダーで指定することができる。
GET、POST問わずHTMLなどクライアントに送信 するデータ。 Json,xmlなどの形式も使える。 Reponse Body データの形式はContent-Typeヘッダーで指定することができる。
まとめ 普段使っているURLやHTTPも、何気なく使ってる技術でも分解して 見ることができる