[HTTP / ๋„คํŠธ์›Œํฌ] ๐Ÿงฟ HTTP, AJAX, SSR, CSR

TATAยท2023๋…„ 1์›” 30์ผ
0

๋„คํŠธ์›Œํฌ

๋ชฉ๋ก ๋ณด๊ธฐ
1/8

โœ”๏ธ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„ํ‚คํ…์ฒ˜

๐Ÿงฟ ์ฃผ์š” ํ”„๋กœํ† ์ฝœ

OSI 7 Layers

โ’Ž ์‘์šฉ ๊ณ„์ธต

ํ”„๋กœํ† ์ฝœ ์ด๋ฆ„์„ค๋ช…
HTTP์›น์—์„œ HTML, JSON ๋“ฑ์˜ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ํ”„๋กœํ† ์ฝœ
HTTPSHTTP์—์„œ ๋ณด์•ˆ์ด ๊ฐ•ํ™”๋œ ํ”„๋กœํ† ์ฝœ
FTPํŒŒ์ผ ์ „์†ก ํ”„๋กœํ† ์ฝœ
SMTP๋ฉ”์ผ์„ ์ „์†กํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ
SSHCLI ํ™˜๊ฒฝ์˜ ์›๊ฒฉ ์ปดํ“จํ„ฐ์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ
RDPWindow ๊ณ„์—ด์˜ ์›๊ฒฉ ์ปดํ“จํ„ฐ์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ
WebSocket์‹ค์‹œ๊ฐ„ ํ†ต์‹ , Push ๋“ฑ์„ ์ง€์›ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ

โ’ ํ‘œํ˜„ ๊ณ„์ธต
โ’Œ ์„ธ์…˜ ๊ณ„์ธต
โ’‹ ์ „์†ก ๊ณ„์ธต

ํ”„๋กœํ† ์ฝœ ์ด๋ฆ„์„ค๋ช…
TCP์–‘๋ฐฉํ–ฅ์œผ๋กœ ์ž‘๋™ํ•˜๋ฉฐ HTTP, FTP ํ†ต์‹  ๋“ฑ์˜ ๊ทผ๊ฐ„์ด ๋˜๋Š” ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ
UDP๋‹จ๋ฐฉํ–ฅ์œผ๋กœ ์ž‘๋™ํ•˜์—ฌ ๋‹จ์ˆœํ•˜๊ณ  ๋น ๋ฅด์ง€๋งŒ, ์‹ ๋ขฐ์„ฑ์ด ๋‚ฎ์€ ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ

โ’Š ๋„คํŠธ์›Œํฌ ๊ณ„์ธต
โ’‰ ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต
โ’ˆ ๋ฌผ๋ฆฌ ๊ณ„์ธต


๐Ÿงฟ CRUD์— ๋”ฐ๋ผ ์•Œ๋งž๊ฒŒ ์“ฐ๋Š” HTTP๋ฉ”์†Œ๋“œ

ํ”„๋กœํ† ์ฝœ ์ด๋ฆ„์„ค๋ช…
์กฐํšŒ (Read)GET
์ถ”๊ฐ€ (Create)POST
๊ฐฑ์‹  (Update)PUT ๋˜๋Š” PATCH
์‚ญ์ œ (Delete)Delete

โœ”๏ธ ๋ธŒ๋ผ์šฐ์ €์˜ ์ž‘๋™ ์›๋ฆฌ (๋ณด์ด์ง€ ์•Š๋Š” ๊ณณ)

๐Ÿงฟ URL๊ณผ URI

(URL : scheme, hosts, url-path๋กœ ๊ตฌ๋ถ„
URI : scheme, hosts, url-path, query, fragment๋กœ ๊ตฌ๋ถ„)

http://www.google.com:80/search?q=JavaScript

๋ถ€๋ถ„๋ช…์นญ์„ค๋ช…
http://schemeํ†ต์‹  ํ”„๋กœํ† ์ฝœ
www.google.comhosts์›น ํŽ˜์ด์ง€, ์ด๋ฏธ์ง€, ๋™์˜์ƒ ๋“ฑ์˜ ํŒŒ์ผ์ด ์œ„์น˜ํ•œ ์›น ์„œ๋ฒ„, ๋„๋ฉ”์ธ ๋˜๋Š” IP
:80port์›น ์„œ๋ฒ„์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•œ ํ†ต๋กœ
/searchurl-path์›น ์„œ๋ฒ„์˜ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋ถ€ํ„ฐ ์›น ํŽ˜์ด์ง€, ์ด๋ฏธ์ง€, ๋™์˜์ƒ ๋“ฑ์˜ ํŒŒ์ผ์ด ์œ„์น˜๊นŒ์ง€์˜ ๊ฒฝ๋กœ
?q=JavaScriptquery์›น ์„œ๋ฒ„์— ์ „๋‹ฌํ•˜๋Š” ์ถ”๊ฐ€ ์งˆ๋ฌธ

โ“port ๋ฒˆํ˜ธ? 0~ 65535๊นŒ์ง€ ์‚ฌ์šฉ ๊ฐ€๋Šฅ.
(0 ~ 1024๊นŒ์ง€๋Š” ์ด๋ฏธ ์ด๋ฆ„์ด ์ •ํ•ด์ ธ์žˆ์Œ)
22 : SSH
80 : HTTP
443 : HTTPS


๐Ÿงฟ ๋„๋ฉ”์ธ๊ณผ DNS

โ“Domain name
์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ํŠน์ • ์‚ฌ์ดํŠธ์— ์ง„์ž…์„ ํ•  ๋•Œ, IP ์ฃผ์†Œ๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์†Œ.

ํ„ฐ๋ฏธ๋„์—์„œ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ํ†ตํ•ด IP ์ฃผ์†Œ๋ฅผ ํ™•์ธํ•˜๋Š” ๋ช…๋ น์–ด์ธ
nslookup์œผ๋กœ naver.com์˜ IP์ฃผ์†Œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.๐Ÿ‘‡

โ“DNS : Domain Name System
ํ•ด๋‹น ๋„๋ฉ”์ธ ์ด๋ฆ„๊ณผ ๋งค์นญ๋œ IP ์ฃผ์†Œ๋ฅผ ํ™•์ธํ•˜๋Š” ์ž‘์—…์ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•˜๋‹ค.
๋„คํŠธ์›Œํฌ์—๋Š” ์ด๊ฒƒ์„ ์œ„ํ•œ ์„œ๋ฒ„๊ฐ€ ๋ณ„๋„๋กœ ์žˆ๋Š”๋ฐ ์ด๋ฅผ DNS๋ผ๊ณ  ํ•œ๋‹ค.


๐Ÿงฟ Error Message

"Aw, Snap!"("์•—, ์ด๋Ÿฐ!")
Chrome ๋ธŒ๋ผ์šฐ์ €์—์„œ ํŽ˜์ด์ง€๋ฅผ ๋กœ๋“œํ•˜๋Š”๋ฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

ErrorDiscription
200์„ฑ๊ณต!
400ํด๋ผ์ด์–ธํŠธ ์‹คํŒจ (์œ ์ € ์ž˜๋ชป, ๋‚ด ์ž˜๋ชป๐Ÿ™„)
500์„œ๋ฒ„ ์‹คํŒจ (์„œ๋ฒ„ ์ž˜๋ชป, ๋‹ˆ ์ž˜๋ชป๐Ÿ˜ก)

โœ”๏ธ HTTP

๐Ÿงฟ HTTP Messages

์š”์ฒญ(Requests)๊ณผ ์‘๋‹ต(Responses) ๋‘ ๊ฐ€์ง€ ์œ ํ˜•์ด ์žˆ๋‹ค.

โ’ˆ start line : ์š”์ฒญ์ด๋‚˜ ์‘๋‹ต์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ ํ•ญ์ƒ ์ฒซ ๋ฒˆ์งธ ์ค„์— ์œ„์น˜ํ•œ๋‹ค. (์‘๋‹ต์—์„œ๋Š” status line์ด๋ผ๊ณ  ๋ถ€๋ฆ„)
โ’‰ HTTP headers : ์š”์ฒญ์„ ์ง€์ •ํ•˜๊ฑฐ๋‚˜, ๋ฉ”์‹œ์ง€์— ํฌํ•จ๋œ ๋ณธ๋ฌธ์„ ์„ค๋ช…ํ•˜๋Š” ํ—ค๋”์˜ ์ง‘ํ•ฉ์ด๋‹ค.
โ’Š empty line : ํ—ค๋”์™€ ๋ณธ๋ฌธ์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๋นˆ ์ค„์ด ์žˆ๋‹ค.
โ’‹ body : ์š”์ฒญ๊ณผ ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ๋‚˜ ์‘๋‹ต๊ณผ ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ ๋˜๋Š” ๋ฌธ์„œ๋ฅผ ํฌํ•จํ•œ๋‹ค. (์š”์ฒญ๊ณผ ์‘๋‹ต์˜ ์œ ํ˜•์— ๋”ฐ๋ผ ์„ ํƒ์ ์œผ๋กœ ์‚ฌ์šฉ)

โ—๏ธ์ฐธ๊ณ ) ์ด ์ค‘ start line๊ณผ HTTP headers๋ฅผ ๋ฌถ์–ด ์š”์ฒญ์ด๋‚˜ ์‘๋‹ต์˜ ํ—ค๋“œ(head)๋ผ๊ณ  ํ•˜๊ณ , payload๋Š” body๋ผ๊ณ  ์ด์•ผ๊ธฐํ•œ๋‹ค.

HTTP Messages์˜ ๊ตฌ์กฐ๐Ÿ‘‡

โ—๏ธ์ฐธ๊ณ ) ๊ฐœ๋ฐœ์ž๋Š” ์ด๋Ÿฐ ๋ฉ”์‹œ์ง€๋ฅผ ์ง์ ‘ ์ž‘์„ฑํ•  ํ•„์š”๊ฐ€ ๊ฑฐ์˜ ์—†๋‹ค. ๊ตฌ์„ฑ ํŒŒ์ผ, API, ๊ธฐํƒ€ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ HTTP Messages๋ฅผ ์ž๋™์œผ๋กœ ์™„์„ฑํ•œ๋‹ค.


๐Ÿงฟ HTTP Responses

์š”์ฒญ

Start line๊ณผ Headers, Body๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. (Body๋Š” ํ•„์ˆ˜๊ฐ€ ์•„๋‹˜)


๐Ÿงฟ HTTP Requests

์‘๋‹ต

Start line๊ณผ Headers, Body๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. (Body๋Š” ํ•„์ˆ˜๊ฐ€ ์•„๋‹˜)


โœ”๏ธ ๋ธŒ๋ผ์šฐ์ €์˜ ์ž‘๋™์›๋ฆฌ (๋ณด์ด๋Š” ๊ณณ)

๐Ÿงฟ AJAX

Asynchronous JavaScript And XMLHttpRequest
JavaScript, DOM, Fetch, XMLHttpRequest, HTML ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋Š” ์›น ๊ฐœ๋ฐœ ๊ธฐ๋ฒ•์„ ๋งํ•œ๋‹ค.

๋น„๋™๊ธฐ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„์—์„œ ๋ฐ›์•„์™€ ๋ธŒ๋ผ์šฐ์ €์— ๋ Œ๋”๋ง์„ ํ•˜๋Š” ๊ธฐ๋ฒ•์„ AJAX๋ผ๊ณ  ํ•œ๋‹ค.
(ex. ๊ฒ€์ƒ‰์ฐฝ, ๋ฌดํ•œ์Šคํฌ๋กค, ํŽ˜์ด์Šค๋ถ ๋ฉ”์‹œ์ง€, ๋„ค์ด๋ฒ„ ํฌํ„ธ์‚ฌ์ดํŠธ์˜ ๋‰ด์Šค ํƒญ)


๐Ÿงฟ AJAX ์žฅ์ 

ํ‘œ์ค€ํ™”๋œ ๋ฐฉ๋ฒ•
XHR์ด ํ‘œ์ค€ํ™”๋˜๋ฉด์„œ๋ถ€ํ„ฐ ๋ธŒ๋ผ์šฐ์ €์— ์ƒ๊ด€์—†์ด AJAX๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

์œ ์ € ์ค‘์‹ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ
ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๊ฐ€์ ธ์™€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ํ™”๋ฉด์˜ ์ผ๋ถ€๋งŒ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ๋ Œ๋”๋ง ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋•Œ๋ฌธ์— ๋น ๋ฅด๊ณ  ๋” ๋งŽ์€ ์ƒํ˜ธ์ž‘์šฉ์ด ๊ฐ€๋Šฅํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

๋” ์ž‘์€ ๋Œ€์—ญํญ
์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์™„์„ฑ๋œ HTML ํŒŒ์ผ์„ ๋ฐ›์•„์˜ค์ง€ ์•Š๊ณ  ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ…์ŠคํŠธ ํ˜•ํƒœ(JSON, XML ๋“ฑ)๋กœ ๋ณด๋‚ด๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋น„๊ต์  ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๊ฐ€ ์ž‘๋‹ค.


๐Ÿงฟ AJAX ๋‹จ์ 

๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”(SEO)์— ๋ถˆ๋ฆฌ
AJAX ๋ฐฉ์‹์˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํ•œ ๋ฒˆ ๋ฐ›์€ HTML์„ ๋ Œ๋”๋ง ํ•œ ํ›„, ์„œ๋ฒ„์—์„œ ๋น„๋™๊ธฐ์ ์œผ๋กœ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€ ๊ทธ๋ ค๋‚ธ๋‹ค. HTML ํŒŒ์ผ์€ ๋ผˆ๋Œ€๋งŒ ์žˆ๊ณ  ๋ฐ์ดํ„ฐ๋Š” ์—†๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์ดํŠธ์˜ ์ •๋ณด๋ฅผ ๊ธ์–ด๊ฐ€๊ธฐ ์–ด๋ ต๋‹ค.

๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋ฌธ์ œ
AJAX์—์„œ๋Š” ์ด์ „ ์ƒํƒœ๋ฅผ ๊ธฐ์–ตํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ๋„ ์‚ฌ์šฉ์ž๊ฐ€ ์˜๋„ํ•œ ๋Œ€๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ณ„๋„๋กœ History API๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.


๐Ÿงฟ SSR

Server Side Rendering

์„œ๋ฒ„์—์„œ ์›น ํŽ˜์ด์ง€๋ฅผ ๋ธŒ๋ผ์šฐ์ €๋กœ ๋ณด๋‚ด๊ธฐ ์ „์— ์„œ๋ฒ„์—์„œ ์™„์ „ํžˆ ๋ Œ๋”๋งํ•œ๋‹ค.
(ex. ๋„ค์ด๋ฒ„ ๋ธ”๋กœ๊ทธ, The NewYork Times)

โ“ ์›น ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ?
์„œ๋ฒ„๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜จ ๋‹ค์Œ, ์›น ํŽ˜์ด์ง€๋ฅผ ์™„์ „ํžˆ ๋ Œ๋”๋ง ๋œ ํŽ˜์ด์ง€๋กœ ๋ณ€ํ™˜ํ•œ ํ›„์— ๋ธŒ๋ผ์šฐ์ €์— ์‘๋‹ต์œผ๋กœ ๋ณด๋‚ธ๋‹ค.

โ“ ์›น ํŽ˜์ด์ง€๋ฅผ ์‚ดํŽด๋ณด๋˜ ์‚ฌ์šฉ์ž๊ฐ€, ๋ธŒ๋ผ์šฐ์ €์˜ ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•˜๋ฉด?
๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•  ๋•Œ๋งˆ๋‹ค ์„œ๋ฒ„๋Š” ๊ฐ™์€ ์ž‘์—…์„ ๋‹ค์‹œ ์ˆ˜ํ–‰ํ•œ๋‹ค.


๐Ÿงฟ CSR

Client Side Rendering

ํด๋ผ์ด์–ธํŠธ์—์„œ ํŽ˜์ด์ง€๋ฅผ ๋ Œ๋”๋งํ•œ๋‹ค.
(ex. ์•„๊ณ ๋‹ค)

โ“ ์›น ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ?
๋ธŒ๋ผ์šฐ์ €๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€์„œ ์›น ํŽ˜์ด์ง€์— ๋ Œ๋”๋ง์„ ํ•ด์•ผ ํ•œ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด Fetch์™€ ๊ฐ™์€ API๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค.

โ“ ์›น ํŽ˜์ด์ง€๋ฅผ ์‚ดํŽด๋ณด๋˜ ์‚ฌ์šฉ์ž๊ฐ€, ๋ธŒ๋ผ์šฐ์ €์˜ ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•˜๋ฉด?
๋ธŒ๋ผ์šฐ์ €๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์š”์ฒญํ•œ ๊ฒฝ๋กœ์— ๋”ฐ๋ผ ํŽ˜์ด์ง€๋ฅผ ๋‹ค์‹œ ๋ Œ๋”๋งํ•œ๋‹ค. ์ด๋•Œ ๋ณด์ด๋Š” ์›น ํŽ˜์ด์ง€์˜ ํŒŒ์ผ์€ ๋งจ ์ฒ˜์Œ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์ „๋‹ฌ๋ฐ›์€ ์›น ํŽ˜์ด์ง€ ํŒŒ์ผ๊ณผ ๋™์ผํ•œ ํŒŒ์ผ์ด๋‹ค.(์„œ๋ฒ„๊ฐ€ ์›น ํŽ˜์ด์ง€๋ฅผ ๋‹ค์‹œ ๋ณด๋‚ด์ง€ ์•Š๋Š”๋‹ค.)


๐Ÿงฟ SSG

static site generation

์›น ํŽ˜์ด์ง€๋ฅผ ์‚ฌ์ „์— ๋นŒ๋“œํ•˜์—ฌ ์ •์ ์ธ HTML ํŒŒ์ผ๋กœ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.
(SSG๋Š” ๋™์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ ๊ฐ€์ ธ์™€ ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ณ ,
์ดํ›„์—๋Š” ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์— ๋”ฐ๋ผ ์‚ฌ์ „์— ๋นŒ๋“œ๋œ ์ •์  ํŒŒ์ผ์„ ์ œ๊ณตํ•จ)

์„œ๋ฒ„ ๋ถ€ํ•˜๊ฐ€ ์—†์œผ๋ฉฐ, SEO์—๋„ ์ข‹๋‹ค.


๐Ÿ”ฅ SSR vs CSR

โ–ทSSR
SEO๊ฐ€ ์šฐ์„ ์ˆœ์œ„์ผ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
์ฒซ ํ™”๋ฉด ๋ Œ๋”๋ง์ด ๋น ๋ฅด๊ฒŒ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์™€
์›นํŽ˜์ด์ง€๊ฐ€ ์‚ฌ์šฉ์ž์™€ ์ƒํ˜ธ์ž‘์šฉ์ด ์ ์€ ๊ฒฝ์šฐ ํ™œ์šฉํ•˜๋ฉด ์ข‹๋‹ค.

โ–ทCSR
SEO๊ฐ€ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ์•„๋‹ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
์‚ฌ์ดํŠธ์— ํ’๋ถ€ํ•œ ์ƒํ˜ธ ์ž‘์šฉ์ด ์žˆ๋Š” ๊ฒฝ์šฐ์— ํ™œ์šฉํ•˜๋ฉด ์ข‹๊ธฐ์—
์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ œ์ž‘ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋ฉด ๋” ๋‚˜์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(๋น ๋ฅธ ๋™์  ๋ Œ๋”๋ง ๋“ฑ)์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค.
(ํ•„์š”ํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ๋งŒ ๋ฐ›์•„์˜จ๋‹ค๋Š” ๋œป)

profile
๐Ÿพ

0๊ฐœ์˜ ๋Œ“๊ธ€