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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
わたしがセキュアにAWSを使えるわけないじゃん、ムリムリ!(※ムリじゃなかった!?)
cmusudakeisuke
1
190
チームメンバー迷わないIaC設計
hayama17
5
3.9k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
14k
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
44k
新職業『オーケストレーター』誕生 — エージェント10体を同時に回すAgentOps
gunta
4
1.5k
プロジェクトマネジメントをチームに宿す -ゼロからはじめるチームプロジェクトマネジメントは活動1年未満のチームの教科書です- / 20260304 Shigeki Morizane
shift_evolve
PRO
1
120
Webアクセシビリティ技術と実装の実際
tomokusaba
0
230
vLLM Community Meetup Tokyo #3 オープニングトーク
jpishikawa
0
150
Devinを導入したら予想外の人たちに好評だった
tomuro
0
910
男(監査)はつらいよ - Policy as CodeからAIエージェントへ
ken5scal
5
750
Evolution of Claude Code & How to use features
oikon48
1
360
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
The Invisible Side of Design
smashingmag
302
51k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
150
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
Building an army of robots
kneath
306
46k
Exploring anti-patterns in Rails
aemeredith
2
280
Game over? The fight for quality and originality in the time of robots
wayneb77
1
130
What does AI have to do with Human Rights?
axbom
PRO
1
2k
Design in an AI World
tapps
0
160
AI: The stuff that nobody shows you
jnunemaker
PRO
3
350
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も、何気なく使ってる技術でも分解して 見ることができる