๐ ์ฐธ๊ณ ๐ ํฌ๋กฌ ํน์ง
- ์นํท์ ์ฌ์ฉํ๋ค๊ฐ ์นํท์ Forkํ์ฌ ๋ธ๋งํฌ ์์ง์ ์์ฒด์ ์ผ๋ก ๊ตฌํํด ์ฌ์ฉ
- ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ์ ๋ฌ๋ฆฌ ๊ฐ ํญ๋ง๋ค ๋ณ๋์ ๋ ๋๋ง ์์ง ์ธ์คํด์ค ์ ์ง (๊ฐ ํญ๋ง๋ค ๋ ๋ฆฝ๋ ํ๋ก์ธ์ค๋ก ์ฒ๋ฆฌ)
select
, input
๋ฑ ๊ธฐ๋ณธ ์์ ฏ์ ๊ทธ๋ฆฌ๋ ์ธํฐํ์ด์ค HTML ๋ฐ์ดํฐ
ํ์ฑ โก๏ธ DOM Tree
์์ฑ๋ฌด์์
๊ทธ๋ฆด์ง ๊ฒฐ์ ๐๏ธ ์์ ๐๏ธ : ๋ธ๋ผ์ฐ์ ์ฃผ์์ฐฝ์ url์ ์ ๋ ฅํ ๊ฒฝ์ฐ
- ๋ธ๋ผ์ฐ์ ๋ ํด๋น ์๋ฒ์ ์์ฒญ ๋ณด๋
- ์๋ฒ๋ ์๋ต์ผ๋ก HTML ๋ฌธ์ ์ ๋ฌ
- ๋ธ๋ผ์ฐ์ ๊ฐ HTML ๋ฌธ์๋ฅผ ํ๋์ฉ ํ์ฑํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ํ๋ฉด์ ๊ทธ๋ฆฌ๋ ๊ณผ์ ์์๋จ
- ๋ฏธ๋์ด ํ์ผ์ ๋ง๋๋ฉด, ์ถ๊ฐ๋ก ์์ฒญ ๋ณด๋ด ๋ฐ์์ด
- JavaScript ํ์ผ ๋ง๋๋ฉด ํด๋น ํ์ผ ๋ฐ์์ ์คํํ ๋๊น์ง ํ์ฑ ๋ฉ์ถค
- html ์์
<html> <head> <meta charset="utf-8"> <link href="./style.css" rel="stylesheet"> </head> <body> <p>Hello, <span>web performance</span> students</p> <div> <img src="./image.png"> </div> </body> </html>
- ๋ธ๋ผ์ฐ์ ๊ฐ HTML ๋ฐ์ดํธ ๋ฐ์ดํฐ๋ฅผ ์ง์ ๋ ์ธ์ฝ๋ฉ(UTF-8)์ ๋ฐ๋ผ ๋ฌธ์์ด๋ก ๋ณํ - ๋ฌธ์์ด์ HTML ํ์ค์ ๋ฐ๋ผ ํ ํฐ(Token)์ผ๋ก ๋ณํ - <html> โก๏ธ StartTag: html, </html> โก๏ธ EndTag: html๋ก ๋ณํ - ํ ํฐ์ ๋ ธ๋๋ก ๋ฐ๊พธ๋ ๊ณผ์ - StartTag:html โก๏ธ html ๋ ธ๋, EndTag: html ์ด์ ๊น์ง ๋ค์ด์ค๋ ํ ํฐ์ html ์์ ๋ ธ๋๋ก ๋ฃ์ - Tree ๋ชจ์์ DOM ์์ฑ
CSS ํ์ผ
๋งํฌ ๋ง๋๋ฉด CSS ํ์ผ
์์ฒญํด์ ๋ฐ์์ โก๏ธ CSSOM
์์ฑ์ด๋ป๊ฒ
๊ทธ๋ฆด์ง ๊ฒฐ์ ๐๏ธ ์์ ๐๏ธ
- HTML ํ์ฑ ์ค CSS ๋งํฌ ๋ง๋๋ฉด CSS ํ์ผ ์์ฒญ ํ ๋ฐ์์ด
- HTML ํ์ฑ๊ณผ ์ ์ฌํ ๊ณผ์ ์ผ๋ก Tree ํํ์ CSSOM ์์ฑ
- ํน์ฑ์ ์์ ๋ ธ๋๊ฐ ๋ถ๋ชจ ๋ ธ๋์ ํน์ฑ์ ๊ณ์ ์ด์ด๋ฐ๋(cascading) ๊ท์น ์ถ๊ฐ๋จ (์ด์ธ HTML๊ณผ ๋์ผ)
DOM Tree
์ CSSOM
์ด ๋ง๋ค์ด์ง๋ฉด โก๏ธRender Tree
์์ฑํ๋ฉด์ ๊ทธ๋ ค์ง ๊ฒ
๊ฒฐ์ ๐๏ธ ์์ ๐๏ธ
- DOM + CSSOM ํฉ์ณ์ RenderTree ์์ฑ
- DOM Tree ์ค ํ๋ฉด์ ์ค์ ๋ก ๋ณด์ด๋ ๊ฒ๋ง์ผ๋ก ์์ฑ
- CSS์์ display: none์ ๊ฒฝ์ฐ๋ ํฌํจ๋์ง X
- HTML์ ํ๊ทธ ์์ ๋ด์ฉ์ ๊ฒฝ์ฐ ํฌํจ๋์ง X
Render Tree
์ ์๋ ๊ฐ ๋
ธ๋๊ฐ ํ๋ฉด์ ์ด๋์ ์์นํ ์ง ๊ณ์ฐํ๋ Layout ๊ณผ์ ๐๏ธ ์์ ๐๏ธ
- Render Tree์ ์๋ ๊ฐ ๋ ธ๋๋ค์ด ํ๋ฉด์ ์ด๋์ ์์นํ ์ง ๊ณ์ฐ
- CSSOM์ ์คํ์ผ ์ ๋ณด๋ก ์ด๋ป๊ฒ ์๊ธธ์ง๋ ์์ง๋ง,
- CSS Box model ์ฌ์ฉํ์ฌ ํ์ฌ viewport ๊ธฐ์ค์ผ๋ก ์ค์ ๋ก ๋์ผ๋ ค๋ฉด ์ด๋์ ๋์ง ๊ณ์ฐ (position, width, hegiht ๋ฑ ์์น)
ํ๋ฉด์ ์ค์ ํฝ์
์ Paint
๐๏ธ ์์ ๐๏ธ
- visibility, outline, background-color ๋ฑ ๋์ ๋ณด์ด๋ ํฝ์ ๊ทธ๋ ค์ง
- Render Layer์ด 2๊ฐ ์ด์์ด๋ฉด, ๊ฐ Layer๋ฅผ paintํ ๋ค ํ๋์ ์ด๋ฏธ์ง๋ก Compositeํ๋ ๊ณผ์ ์ ์ถ๊ฐ ํ ํ๋ฉด์ ๊ทธ๋ ค์ง
๐ ์ฐธ๊ณ ๐ ์นํท ๋์ ๊ณผ์
๐ ์ฐธ๊ณ ๐ ํ์ฑ
- ๋ธ๋ผ์ฐ์ ๊ฐ ์ฝ๋๋ฅผ ์ดํดํ๊ณ ์ฌ์ฉํ ์ ์๋ ๊ตฌ์กฐ๋ก ๋ณํํ๋ ๊ณผ์
- ๋ฌธ์๋ฅผ
๋ฌธ๋งฅ ์์ ๋ฌธ๋ฒ
์ ๋ฐ๋ผ ๋ณํ โก๏ธํ์ฑ ํธ๋ฆฌ
or๋ฌธ๋ฒ ํธ๋ฆฌ
- ๋ฌธ์(์์ค ์ฝ๋) โก๏ธ ์ดํ ๋ถ์(๊ณต๋ฐฑ, ์ค๋ฐ๊ฟ ๋ฑ ์ ๊ฑฐ) โก๏ธ ๊ตฌ๋ฌธ ๋ถ์ โก๏ธ ํ์ฑ ํธ๋ฆฌ โก๏ธ ๋ณํ โก๏ธ ๊ธฐ๊ณ์ฝ๋
๐ ์ฐธ๊ณ ๐ DOM (๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ, Document Object Model)
- ์ ํ๋ฆฌ์ผ์ด์ ์ UI, HTMLํ์ผ์ ์๋ฐ์คํฌ๋ฆฝํธ ํํ
- ์นํ์ด์ง๊ฐ ํ๋ฉด์ ๋ก๋ฉ๋๋ฉด, ๋ธ๋ผ์ฐ์ ๋ ํ์ด์ง์ ๋ฌธ์๊ฐ์ฒด๋ชจ๋ธ(DOM) ์์ฑ
- W3C์ ๋ช ์ธ์ ์ ํด์ ธ ์์
- DOM์์ + ์์ฑ ๋ ธ๋์ ํธ๋ฆฌ = ํ์ฑ ํธ๋ฆฌ
- ๐๏ธ ์์
<html> <body> <p>Hello World</p> <div><img src="example.png" /></div> </body> </html>
Web = World Wide Web ์ ์ฝ์๋ก์, ์ธํฐ๋ท์ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฉ๋๋ ์๋น์ค์ด๋ค. WWW or W3 ๋ผ๊ณ ๋ง์ด ๋ถ๋ ค์ง๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์น์ 3๋ ์์์๋ URI
(์ฃผ์), HTML
(๋ด์ฉ), HTTP
(ํต์ ๊ท์ฝ)๋ฑ 3๊ฐ์ ๊ตฌ์ฑ์์๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
URI : Uniform Resource Identifier ๋ก์ ์ธํฐ๋ท์์ ์น ํ์ด์ง, ์ด๋ฏธ์ง, ๋น๋์ค ๋ฑ ๋ฆฌ์์ค์ ์์น๋ฅผ ๊ฐ๋ฆฌํค๋ ๋ฌธ์์ด๋ก์, ์ฃผ์๋ฅผ ๋ํ๋ด๊ณ ์๋ค.
HTML : Hypertext Markup Language ๋ก์ ์น ๋ฌธ์์ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค๊ธฐ ์ํ ์ธ์ด๋ก์, ์ ์ ์ธ ์ปจํ ์ธ ๋ฅผ ๋ด๋นํ๊ณ ํด๋นํ์ด์ง์ ๋ด์ฉ์ ๋ด๊ณ ์๋ค. HTML ์ Markup Language ๋ก์ Programing Language๊ฐ ์๋๋ค.
HTTP : Hyper text Transfer Protocol ๋ก์ ์น ์์์ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ํ๋กํ ์ฝ๋ก์ ์ผ์ข ์ ํต์ ๊ท์น ์ด๋ค.
server = ํด๋ผ์ด์ธํธ์๊ฒ ๋คํธ์ํฌ๋ฅผ ํตํด ์ ๋ณด๋ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์ปดํจํฐ ์์คํ .
Web Server
= ํด๋ผ์ด์ธํธ์๊ฒ ์ธํฐ๋ท์ ํตํด ์น ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์ปดํจํฐ๋ก์ ์ ์ ์ธ ์ปจํ
์ธ ๋ค๋ง ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ ์ ์๋ค.Web Application Server
= Web Server + Web Application ์ด๋ค.Web Application์ ์น์์ ์คํ๋๋ ์์ฉ ํ๋ก๊ทธ๋จ์ผ๋ก์, ์น ์ ํ๋ฆฌ์ผ์ด์
์ด ์๋ฒํ๊ฒฝ์ ๋ง๋ค์ด ๋์ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์ํํธ ์จ์ด.
ํ์ํ ๋์์ ์ํํ๊ณ ๊ฒฐ๊ณผ๋ฌผ์ ์น ์๋ฒ๋ก ์ ๋ฌํ๋ ์ญํ ์ ํ๋ค. (๊ฐ๋จํ ํ๋ก๊ทธ๋จ ์คํ์, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ณ ๋น์ฆ๋์ค ๋ก์ง ์ํ์ด ๊ฐ๋ฅํด ์ง๋ค.)
๋ณํํ๋ ์ ๋ณด๋ฅผ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ๋ค. โ WAS
์ ์ ์ธ ์ด๋ฏธ์ง์ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ๋ค. โ WS
Web Server ์ ๋ฏธ๋ฆฌ ์ ์ฅ๋ ํ์ผ์ด ๊ทธ๋๋ก ์ฌ์ฉ์์๊ฒ ์ ๋ฌ๋๋ ์น ํ์ด์ง ์ด๋ค.
โ HTML, CSS, JS, IMG๊ฐ ์์์ด๋ค.
โ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ๋ผ ์ ์ฅ๋ ํ์ผ์ ์๋ตํ๋ฏ๋ก ๋น ๋ฅด๋ค๋ ์ฅ์
์ด ์์ง๋ง But
์ ์ฅ๋ ๋ฐ์ดํฐ ์ด์ธ์ ๋ฐ์ดํฐ๋ ๋ณด์ฌ์ค์ ์์ด ์๋น์ค๊ฐ ํ์ ์ ์ด๋ผ๋ ๋จ์
์ด ์๋ค.
Web Server์ ์๋ ๋ฐ์ดํฐ๋ค์ ์คํฌ๋ฆฝํธ์ ์ํด ๊ฐ๊ณต์ฒ๋ฆฌ ํ ๋ค ์์ฑ๋์ด ์ ๋ฌํ๋ ์น ํ์ด์ง ์ด๋ค.
โ JSP, php, aps์ ๊ฐ์ ํ์ด์ง ์์ฑ ๊ฐ๋ฅ
โ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ๋ผ C, U, D๊ฐ ๊ฐ๋ฅํ๊ณ , ๋์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ฏ๋ก ์ฌ๋ฌ ์๋น์ค๋ฅผ ์ ๊ณตํ ์ ์๋ค๋ ์ฅ์
์ด ์์ง๋ง, But
์ฒ๋ฆฌํ๋ ๋น์ฆ๋์ค ๋ก์ง์ ๊ฐ์ง๊ณ ์์ด ์ด๋ฅผ ์ฒ๋ฆฌํ๋ Web Application Server๊ฐ ํ์ํ๋ฏ๋ก ๋น์ฉ์ ๋จ์
์ด ์๋ค.
ํ๋์จ์ด ์ ์๋ฏธ์
WebServer : Web ์๋ฒ๊ฐ ์ค์น๋์ด ์๋ ์ปดํจํฐ.
์ํํธ์จ์ด ์ ์๋ฏธ์
WebServer : ์น ๋ธ๋ผ์ฐ์ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ HTTP ์์ฒญ์ ๋ฐ์ ์ ์ ์ธ ํ์ด์ง๋ฅผ ์ ๊ณตํ๋ ์ปดํจํฐ ํ๋ก๊ทธ๋จ
Web Server + Web Container ๋ก์ DB์กฐํ๋ ๋ค์ํ ๋น์ฆ๋์ค ๋ก์ง์ ์ฒ๋ฆฌํ์ฌ ๋์ ์ธ ์ปจํ ์ธ ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ๋ง๋ค์ด์ง Application Server์ด๋ค.
์๋ฐ ๊ฐ๋ฐ์๋ค์ Web Application Container ๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค. ( ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ฐฐํฌ๋๋ ๊ณต๊ฐ ์ด๋ฏ๋ก)
HTTP ๋ฅผ ํตํด ์ปดํจํฐ๋ ์ฅ์น์ ์ ํ๋ฆฌ์ผ์ด์
์ ์ํํ๋ ๋ฏธ๋ค์จ์ด
์ด๋ค.
WAS ๋ Web Container
or Servlet Container
๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค.
Container โ JSP Servlet์ ์คํ์ํฌ ์ ์๋ ์ํํธ ์จ์ด
WAS์ ๋ํ์ ์ธ ๊ธฐ๋ฅ์ผ๋ก๋ DB ์ ์๊ณผ ๋น์ฆ๋์ค ๋ก์ง ์ํ ๋ฑ์ด ์๋ค.
์์
Cient โ Web Server โ Web Application Server โ DB
๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.Web Application Server ์ Web Server๋ฅผ ๊ณต๋ถํ๋ฉด์ ๊ฐ์ฅ ๊ถ๊ธํ๋ ๋ถ๋ถ์ด, ๊ทธ๋ ๋ค๋ฉด Web Application Server๋ Web Server๋ฅผ ํฌํจํ๊ณ ์๋๋ฐ ๊ทธ๋ฅ WAS ๋ง ์ฌ์ฉํ๋ฉด ์๋๋? ๋จ์ง, ์๋ ์ฐจ์ด ๋๋ฌธ์ ๊ทธ๋ฐ๊ฒ์ธ๊ฐ? ์๋ํ ์๋ฌธ์ด์๋๋ฐ. ์ ํํ ํด๋ต์ ์ดํดํ ์ ์์๋ค.
๋ณดํต ์ผ๋ฐ์ ์ธ ์น ์๋ฒ์ ๊ตฌ์กฐ์ ๊ฒฝ์ฐ WAS ์์ ์น์๋ฒ๋ฅผ ๋์ด ๋ถ์ฐ ์ฒ๋ฆฌ๋ฅผ ํ๋ค.
WAS ์ ๊ฒฝ์ฐ DB ์กฐํ๋, ๋ค์ํ ๋น์ฆ๋์ค ๋ก์ง์ ์ฒ๋ฆฌํ๋ ๋์ ์ง์ค์ ํด์ผํ๊ณ , ์น ์๋ฒ์ ๊ฒฝ์ฐ ์ ์ ์ธ ์ปจํ ์ธ ์ ๋ํ ์์ฒญ์ ๋งก๊ธฐ๋ฉฐ ์๋ก ๊ธฐ๋ฅ์ ๋ถ๋ฆฌ ํด์ฃผ์ด์ผ ์๋ฒ์ ๋ถํ๋ฅผ ๋ฐฉ์งํ์ฌ ํจ์จ์ ์ธ ์๋ฒ ์ด์์ด ๊ฐ๋ฅํด ์ง๋ค. ๋ง์ฝ ๋ชจ๋ ์์ฒญ์ WAS ๊ฐ ๊ด๋ฆฌํ๊ฒ ๋๋ค๋ฉด, ์ผ๋ฐ์ ์ธ ์ด๋ฏธ์ง ์์ฒญ์๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๊ฐ ์ง์ฐ๋๊ณ ์๋๊ฐ ๋๋ ค์ง๋ฉฐ ์ฌ๋ฌ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ฒ ๋๋ค.
โ ๋ฐ๋ผ์ Cient โ Web Server โ Web Application Server โ DB
๊ตฌ์กฐ๋ฅผ ํตํด, ์ฌ์ฉ์์ ์์ฒญ์ด ์ ์ ์ธ ์ปจํ
์ธ ๋ผ๋ฉด Web Server์์ ๋ฐ๋ก ์๋ต ํด์ฃผ๋ฉฐ 1์ฐจ์ ์ผ๋ก ๊ฑธ๋ฌ์ฃผ๊ณ , ๋์ ์ธ ์ปจํ
์ธ ๋ผ๋ฉด WAS์๊ฒ ์์ฒญ์ ๋ณด๋ด์ด ์๋ต์ ๋ฐ๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ธ ํจ์จ์ ์ธ ๋ถ์ฐ ์ฒ๋ฆฌ๋ฅผ ์งํํด ์ค๋ค.
๐ ์ฐธ๊ณ ๐ ๋ฒ์ธ
- Apache ์ Apache Tomcat
- Apache โ Web Server
- Apache Tomcat โ Web Application Server
์๋ ์๋ ์น ์๋ฒ๋ Apache, WAS ๋ Tomcat ์ด์์ผ๋ Tomcat ์์ฒด๊ฐ ์ ๋ฐ์ดํธ ๋์ด์ค๋ฉฐ, ์ ์ ์ธ ์ปจํ ์ธ ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์๊ณ , ์์ Apache๋ง์ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ์ฑ๋ฅ ์ฐจ์ด๊ฐ ์์ด Apache Tomcat์ผ๋ก ๋ถ๋ฆฌ๊ฒ ๋์๋ค.