๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“ฐ CS ์ค€๋น„/HTML, CSS

HTML

  • doctype์ด ๋ฌด์—‡์„ ํ•˜๋Š” ๊ฒƒ์ธ๊ฐ€์š”?
  • ํ‘œ์ค€๋ชจ๋“œ(standards mode)์™€ ์ฟฝ์Šค๋ชจ๋“œ(quirks mode)์˜ ๋‹ค๋ฅธ ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • XML๊ณผ XHTML์˜ ๋‹ค๋ฅธ ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”
  • XHTML์„ ์ด์šฉํ•œ ํŽ˜์ด์ง€์˜ ํ•œ๊ณ„์ ์€ ๋ฌด์—‡์ด ์žˆ๋‚˜์š”?
  • application/xhtml+xml์œผ๋กœ ์ง€์ •ํ•œ ํŽ˜์ด์ง€์— ์–ด๋– ํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‚˜์š”?
  • ๋‹ค๊ตญ์–ด๊ฐ€ ํฌํ•จ๋œ ํŽ˜์ด์ง€๋Š” ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ œ๊ณตํ•˜๋‚˜์š”?
  • ๋‹ค๊ตญ์–ด ํŽ˜์ด์ง€๋ฅผ ์ œ๊ณตํ•˜๋Š” ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์— ๊ด€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • data-์†์„ฑ์€ ๋ฌด์—‡์„ ํ•˜๋Š” ๊ฒƒ์ธ๊ฐ€์š”? ์‚ฌ์šฉํ–ˆ์„ ๋•Œ ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • HTML5๋ฅผ ์˜คํ”ˆ ์›น ํ”Œ๋žซํผ(open web platform)์œผ๋กœ ์ƒ๊ฐํ•ด๋ณธ๋‹ค๋ฉด, ์–ด๋–ค ๊ฒƒ๋“ค๋กœ ๊ตฌ์„ฑ๋ผ ์žˆ์„๊นŒ์š”?
  • ์ฟ ํ‚ค(Cookies)์™€ ์„ธ์…˜์ €์žฅ์†Œ(sessionStorage)์™€ ๋กœ์ปฌ์ €์žฅ์†Œ(localStorage)์˜ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • <script>, <script async>์™€ <script defer>์˜ ์ฐจ์ด์ ์— ๊ด€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • CSS<link>๋ฅผ <head></head>์‚ฌ์ด์— ์“ฐ๋Š” ๊ฒƒ๊ณผ JS<script>๋ฅผ <body></body>๋’ค์— ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ข‹์€ ์‚ฌ์šฉ๋ฒ•์ผ๊นŒ์š”? ์–ด๋””์— ๋ฐฐ์น˜ํ•˜๋Š” ๊ฒŒ ์ข‹์„๊นŒ์š”?
  • Progressive rendering์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ์ด๋ฏธ์ง€ ํƒœ๊ทธ์— srcset ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ด ์†์„ฑ์„ ๊ฐ€์ง„ ์ฝ˜ํ…์ธ ๋ฅผ ํ‰๊ฐ€ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ณผ์ •์„ ์„ค๋ช…ํ•ด๋ณด์„ธ์š”.
  • HTML templating language๋ฅผ ์‚ฌ์šฉํ•ด ๋ณธ ๊ฒฝํ—˜์ด ์žˆ๋‚˜์š”?

 

์ฟ ํ‚ค์™€ ์„ธ์…˜ ์Šคํ† ๋ฆฌ์ง€, ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€์˜ ์ฐจ์ด
๋ชจ๋‘ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ์˜ ์—ญํ• ์„ ํ•˜๋Š” ๊ฒƒ๋“ค์ด๋‹ค.
๋ฐ˜๋ณต๋˜๋Š” ์ž‘์—…์„ ๊ณ„์† ํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด ๋น„ํšจ์œจ์ ์ด๊ณ , ์ด๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ์ฟ ํ‚ค๋ฅผ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ์— ์ƒ์„ฑํ•ด์„œ ํ† ํฐ ๋ฐœ๊ธ‰ ์—†์ด ์ฟ ํ‚ค๋งŒ ๊ฐ€์ง€๊ณ  ์„œ๋ฒ„์— ์š”์ฒญ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์ฟ ํ‚ค๋Š” ์ €์žฅ ๊ณต๊ฐ„์ด 4KB๋กœ ์ž‘์€ ํŽธ์ธ๋ฐ ์ด๋Ÿฌํ•œ ๋‹จ์ ์„ ๋ณด์™„ํ•˜์—ฌ ๋งŒ๋“  ๊ฒƒ์ด ์›น ์Šคํ† ๋ฆฌ์ง€์ด๋‹ค.
์›น ์Šคํ† ๋ฆฌ์ง€๋Š” ์„œ๋ฒ„์— ํด๋ผ์ด์–ธํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค. ์›น ์Šคํ† ๋ฆฌ์ง€์—๋Š” ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€์™€ ์„ธ์…˜ ์Šคํ† ๋ฆฌ์ง€๊ฐ€ ์žˆ๋Š”๋ฐ ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€๋Š” ๋ธŒ๋ผ์šฐ์ €์— ์ •๋ณด๊ฐ€ ๊ณ„์†ํ•ด์„œ ๋‚จ์•„์žˆ๋Š” ๋ฐ˜๋ฉด, ์„ธ์…˜ ์Šคํ† ๋ฆฌ์ง€๋Š” ํ•ด๋‹น ์„ธ์…˜์ด ๋๋‚˜๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์ง„๋‹ค. ์›น ์Šคํ† ๋ฆฌ์ง€๋Š” ๋ฐ์Šคํฌํƒ‘ ๊ธฐ์ค€ 5~10MB์˜ ์ €์žฅ ๊ณต๊ฐ„์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์„œ ์ฟ ํ‚ค์— ๋น„ํ•ด ํ›จ์”ฌ ์ €์žฅ๊ณต๊ฐ„์ด ํฌ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.
์›น ์Šคํ† ๋ฆฌ์ง€๋Š” ๋ฐ˜๋ฉด HTML5๋ถ€ํ„ฐ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด์ „ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ์ง€์›์ด ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

  • ์ž๋™ ๋กœ๊ทธ์ธ -> ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€
  • ์ž…๋ ฅ ํผ ์ •๋ณด -> ์„ธ์…˜์Šคํ† ๋ฆฌ์ง€
  • ๋น„๋กœ๊ทธ์ธ ์žฅ๋ฐ”๊ตฌ๋‹ˆ -> ์„ธ์…˜์Šคํ† ๋ฆฌ์ง€
  • ๋‹ค์‹œ ๋ณด์ง€ ์•Š์Œ ํŒ์—… ์ฐฝ -> ์ฟ ํ‚ค


ํ”„๋กœ๊ทธ๋ ˆ์‹œ๋ธŒ ๋ Œ๋”๋ง(Progressive Rendering)
- ์ปจํ…์ธ ๋ฅผ ๊ฐ€๋Šฅํ•œ ๋นจ๋ฆฌ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๊ธฐ์ˆ ์ด๋‹ค. ์ธํ„ฐ๋„ท ์†๋„๊ฐ€ ๋А๋ฆฌ๊ฑฐ๋‚˜ ๋ถˆ์•ˆ์ •ํ•œ ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์ด ์•„์ง ๋งŽ์ด ๋‚จ์•„์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿด ๋•Œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•œ๋‹ค.
- ๋Œ€ํ‘œ์ ์œผ๋กœ ๋ ˆ์ด์ง€ ๋กœ๋”ฉ์ด ์žˆ๋‹ค. ์ด๋ฏธ์ง€๋ฅผ ํ•œ ๋ฒˆ์— ๋กœ๋“œํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ํ‘œ์‹œํ•˜๋ ค๋Š” ๋ถ€๋ถ„๋งŒ ์Šคํฌ๋กค ์‹œ์— ์ด๋ฏธ์ง€๋ฅผ ๋กœ๋“œํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

๋‹ค๊ตญ์–ด ํŽ˜์ด์ง€๋Š” ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ œ๊ณตํ•˜๋‚˜์š”?
SSR์˜ ๊ฒฝ์šฐ HTTP ์š”์ฒญ ์‹œ ํด๋ผ์ด์–ธํŠธ์—์„œ Accept-Language ํ—ค๋”์™€ ๊ฐ™์ด ๊ธฐ๋ณธ ์–ธ์–ด ์„ค์ •์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ณด๋‚ธ๋‹ค. ์„œ๋ฒ„๋Š” ์ด ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•ด ํ•ด๋‹น ์–ธ์–ด๋กœ ๋œ ๋ฌธ์„œ ๋ฒ„์ „์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๋ฐ˜ํ™˜๋œ ๋ฌธ์„œ๋Š” lang ์†์„ฑ์„ ์„ ์–ธํ•œ๋‹ค. CSR ์‹œ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ์—์„œ ํ•ด๋‹น ์–ธ์–ด ํŒฉ(JSON๋“ฑ)์„ ๊ฐ€์ ธ์™€ ์ถœ๋ ฅํ•œ๋‹ค.


SEO(๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”)๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
- ๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”๋ž€ ์›น ํŽ˜์ด์ง€ ๊ฒ€์ƒ‰์—”์ง„์ด ์ž๋ฃŒ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ์ˆœ์œ„๋ฅผ ๋งค๊ธฐ๋Š” ๋ฐฉ์‹์— ๋งž๊ฒŒ ์›น ํŽ˜์ด์ง€๋ฅผ ๊ตฌ์„ฑํ•ด์„œ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์˜ ์ƒ์œ„์— ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ์ž‘์—…์„ ๋งํ•œ๋‹ค.
- SPA๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒฝ์šฐ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ด์ ์ด ์žˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  SEO๊ฐ€ ์ž˜ ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์•ฝ์ ์ด ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ •๋ณด ์ œ๊ณต์„ ๋ชฉ์ ์œผ๋กœํ•˜๋Š” ์›น ํŽ˜์ด์ง€๋Š” SPA ๋ฐฉ์‹์ด ๋ถˆ๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, React๋‚˜ Angular ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์„œ๋ฒ„ ๋ Œ๋”๋ง์„ ํ†ตํ•ด SEO์— ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ ์„ ์ง€์›ํ•˜๋ฏ€๋กœ ์„ ๋ณ„์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.


<section>๊ณผ <article>์˜ ์ฐจ์ด
section์€ ๋ณดํ†ต ๋น„์Šทํ•œ ํŠน์„ฑ์˜ ์ปจํ…์ธ ๋ฅผ ๋‹ด๋Š” ๊ตฌ์—ญ์„ ์„ค์ •ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, header, footer ์‚ฌ์ด์— sidebar๋‚˜ content๋ฅผ ๋‹ด๋Š” ์‹์ด๋‹ค.

article์€ ๊ด€๋ จ์„ฑ์ด ์—†๊ณ  ๋…๋ฆฝ์ ์ธ ๋‚ด์šฉ๋“ค์„ ๋‹ด์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, section ์•ˆ์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ๊ธฐ์‚ฌ๋“ค์„ ๋‚˜์—ดํ•ด์•ผ ํ•  ๋•Œ ๊ฐ๊ฐ์˜ ๊ธฐ์‚ฌ๋ฅผ article๋กœ ๋‹ด๋Š” ์‹์ด๋‹ค.


HTML5 tag
๋ชจ๋“  HTML ๋ฌธ์„œ๋Š” <!DOCTYPE> ์„ ์–ธ์œผ๋กœ ์‹œ์ž‘ํ•œ๋‹ค. HTML5์˜ ๊ฒฝ์šฐ <!DOCTYPE html> ์ด๋Ÿฐ ์‹์œผ๋กœ ๋ง์ด๋‹ค. ์ด ์„ ์–ธ์€ ํƒœ๊ทธ๋Š” ์•„๋‹ˆ์ง€๋งŒ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์–ด๋–ค ํƒ€์ž…์„ ๋ฐ›์•„๋“ค์—ฌ์•ผ ํ• ์ง€๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ์ •๋ณด์ด๋‹ค.
์—ฌ๋Ÿฌ๊ฐ€์ง€ ํƒœ๊ทธ๊ฐ€ ์žˆ๋Š”๋ฐ ์ฃผ์š”ํ•œ ๊ฒƒ๋“ค ์œ„์ฃผ๋กœ ์‚ดํŽด๋ณด๋ฉด, HTML5์˜ ํ•„์ˆ˜ ํƒœ๊ทธ๋Š” html, head, body ๋“ฑ์ด ์žˆ๋‹ค. html ํƒœ๊ทธ๋Š” HTML๋ฌธ์„œ์˜ ๊ฐ€์žฅ ์ตœ์ƒ๋‹จ์— ์œ„์น˜ํ•˜๋Š” ํƒœ๊ทธ์ด๋ฉฐ, head ํƒœ๊ทธ์—๋Š” style, script, title, link, meta ํƒœ๊ทธ ๋“ฑ์ด ๋“ค์–ด๋‹ค. body ํƒœ๊ทธ๋Š” HTML ๋ฌธ์„œ์˜ ๋‚ด์šฉ์ด ๋“ค์–ด๊ฐ„๋‹ค.


meta ํƒœ๊ทธ
meta ํƒœ๊ทธ๋Š” head ๋ถ€๋ถ„์—์„œ ๋‹ค๋ฅธ ํƒœ๊ทธ๋“ค(script, style, link, title ๋“ฑ)๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์—†๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํƒœ๊ทธ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. <meta name="keywords" content="ABC"> ์™€ ๊ฐ™์ด ๊ฒ€์ƒ‰ ์—”์ง„์„ ์œ„ํ•œ ํ‚ค์›Œ๋“œ๋‚˜ <meta name="description" content="OWEN">๊ณผ ๊ฐ™์ด ๋ฌธ์„œ์— ๋Œ€ํ•œ ์„ค๋ช… ๋“ฑ์— ์‚ฌ์šฉ๋œ๋‹ค. ํ™”๋ฉด์—๋Š” ๋ณ„๋‹ค๋ฅด๊ฒŒ ํ‘œ์‹œ๋˜๋Š” ๋‚ด์šฉ์ด ์—†์ง€๋งŒ, ๊ฒ€์ƒ‰ ์—”์ง„์ด๋‚˜
๋ธŒ๋ผ์šฐ์ €์—์„œ ์ฝํžŒ๋‹ค.


Sementic tag
๊ฐœ๋ฐœ์ž์™€ ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ์˜๋ฏธ์žˆ๋Š” ํƒœ๊ทธ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด <div> ํƒœ๊ทธ๋Š” non-sementic ํƒœ๊ทธ์ด๊ณ , <table>, <article>์€ sementic ํƒœ๊ทธ์— ์†ํ•œ๋‹ค. ์‹œ๋ฉ˜ํ‹ฑ ํƒœ๊ทธ๋Š” ํƒœ๊ทธ๋งŒ ๋ณด๊ณ  ๋Œ€๋žต์ ์œผ๋กœ ๋“ค์–ด๊ฐˆ ๋‚ด์šฉ์„ ์œ ์ถ”ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ํ—ค๋”์™€ ํ‘ธํ„ฐ๋ฅผ ์„ค์ •ํ•  ๋•Œ <div id="header"></div> ์™€ ๊ฐ™์ด ํ–ˆ๋˜ ๊ฒƒ์„ <header> ํ•˜๋‚˜๋กœ ๊น”๋”
ํ•˜๊ฒŒ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

'๐Ÿ“ฐ CS ์ค€๋น„ > HTML, CSS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

CSS  (0) 2021.10.30