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
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
MySQLのJSON機能の活用術
ikomachi226
0
140
Tebiki Engineering Team Deck
tebiki
0
23k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
67k
Digitization部 紹介資料
sansan33
PRO
1
6.8k
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
1.9k
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
3
1.1k
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
110
オープンウェイトのLLMリランカーを契約書で評価する / searchtechjp
sansan_randd
3
630
しろおびセキュリティへ ようこそ
log0417
0
280
Context Engineeringの取り組み
nutslove
0
220
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
240
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.6k
The World Runs on Bad Software
bkeepers
PRO
72
12k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.9k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
3.9k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
760
Site-Speed That Sticks
csswizardry
13
1.1k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
180
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
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も、何気なく使ってる技術でも分解して 見ることができる