๐Ÿš€ Languege/Web Basic

Browser์˜ ๋™์ž‘ (์›น ๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง)

mini_world 2021. 6. 17. 18:00
๋ชฉ์ฐจ ์ ‘๊ธฐ

๋ธŒ๋ผ์šฐ์ €์˜ ๋™์ž‘๋ฐฉ์‹์€ ์›๋ž˜๋Š” ๊ฐœ๋ฐœ์ž ๋ชซ์ด ์•„๋‹Œ, ๋ธŒ๋ผ์šฐ์ €๋งŒ์˜ ์˜์—ญ์ด์—ˆ์Šต๋‹ˆ๋‹ค.
์ตœ๊ทผ์—๋Š” ๊ฐœ๋ฐœ์ž๋„ ๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง์„ ์ดํ•ดํ•ด์•ผ ํ•˜๋Š” ์ถ”์„ธ์ž…๋‹ˆ๋‹ค. ์™œ๋ƒ, ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด์„œ์ฃต~^.^

 

๋ธŒ๋ผ์šฐ์ €๋ž€?

๋ธŒ๋ผ์šฐ์ €๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญํ•œ ๋‚ด์šฉ์„ ๋ฐ›์•„ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ํ‘œ์‹œํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.
๋ธŒ๋ผ์šฐ์ €๋Š” ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›์•„์˜จ HTMLํŒŒ์ผ์„ ํ•ด์„ํ•ด์„œ ์šฐ๋ฆฌ๊ฐ€ ํ•ญ์ƒ ์‚ฌ์šฉํ•˜๋Š” ๊ทธ๋Ÿฐ ์›นํŽ˜์ด์ง€๊ฐ€ ๋˜๋Š”๊ฒƒ์ž…๋‹ˆ๋‹ค!

 

๋ธŒ๋ผ์šฐ์ €์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ

์šฐ๋ฆฌ๊ฐ€ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์›น๋ธŒ๋ผ์šฐ์ €๋Š” Google Chrome, IE, Safari ๋“ฑ์ด ์žˆ๊ณ 
์กฐ๊ธˆ์”ฉ์€ ๋‹ค๋ฅด์ง€๋งŒ ๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์š” ๊ตฌ์„ฑ์š”์†Œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • User Interface: ์ฃผ์†Œ ํ‘œ์‹œ์ค„, ์ด์ „/๋‹ค์Œ ๋ฒ„ํŠผ, ๋ถ๋งˆํฌ ๋“ฑ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ํ™”๋ฉด
  • Browser Engine: ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋ Œ๋”๋ง ์—”์ง„ ์‚ฌ์ด ๋™์ž‘ ์ œ์–ด
  • Randering Engine : HTML, CSS๋ฅผ ํŒŒ์‹ฑํ•ด ํ™”๋ฉด์— ์š”์ฒญํ•œ ์ปจํ…์ธ ๋ฅผ ํ‘œ์‹œ
  • Network: HTTP์š”์ฒญ๊ณผ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ ํ˜ธ์ถœ์— ์‚ฌ์šฉ๋จ
  • Java Script Interpreter: ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ํ•ด์„ํ•˜๊ณ  ์‹คํ–‰
  • UI Backend: ๊ธฐ๋ณธ์ ์ธ ์œ„์ ฏ(์ฝค๋ณด ๋ฐ•์Šค ๋“ฑ)์„ ๊ทธ๋ฆผ
  • Data Persistence: ์ž๋ฃŒ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณ„์ธต์œผ๋กœ ์ฟ ํ‚ค ๋“ฑ์„ ์ €์žฅํ•˜๋Š” ์›น ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

 

๋ Œ๋”๋ง ์—”์ง„์ด๋ž€?

์›น ๋ Œ๋”๋ง ์—”์ง„, ์›น๋ธŒ๋ผ์šฐ์ € ์—”์ง„, ์›น ๋ ˆ์ด์•„์›ƒ ์—”์ง„ ๋“ฑ ์—ฌ๋Ÿฌ ์ด๋ฆ„์œผ๋กœ ๋ถˆ๋ฆฌ๋Š”๋ฐ,
์›นํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์ปจํ…์ธ  ๋ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.
์ฆ‰, ๋ธŒ๋ผ์šฐ์ €์— ํ™”๋ฉด์„ ํ‘œ์‹œํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ๋‹ค๋ฅธ ๋ Œ๋”๋ง ์—”์ง„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
Internet Explorer๋Š” Trident, Firefox๋Š” Gecko, Safari๋Š” WebKit์„ ์‚ฌ์šฉํ•˜๊ณ , 
Chrome๊ณผ Opera๋Š” WebKit์˜ ํฌํฌ ์ธ Blink๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ Œ๋”๋ง ์—”์ง„์˜ ๋™์ž‘ ๊ณผ์ •์„ ๋ณด์ž๋ฉด,
๋ Œ๋”๋ง ์—”์ง„์€ ๋„คํŠธ์›Œํ‚น ๊ณ„์ธต์—์„œ ์š”์ฒญ ๋œ ๋ฌธ์„œ์˜ ๋‚ด์šฉ์„ ๊ฐ€์ ธ์™€์„œ DOMํŠธ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. (CSS์˜ ๊ฒฝ์šฐ CSSOM).
DOM์„ ์ด์šฉํ•ด์„œ Render Tree๋ฅผ ๋งŒ๋“ค๊ณ , ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. (๊ฐ ๋…ธ๋“œ๊ฐ€ ํ™”๋ฉด์˜ ์ •ํ™•ํ•œ ์œ„์น˜์— ํ‘œ๊ธฐ๋˜๊ธฐ ์œ„ํ•ด ๊ณ„์‚ฐ ํ•˜๋Š” ๊ณผ์ •)
๋งˆ์ง€๋ง‰์œผ๋กœ ๊ณ„์‚ฐํ•œ ๋Œ€๋กœ ํ™”๋ฉด์— ๊ทธ๋ฆฌ๋Š”๊ฒƒ์ด์ฃ !

  • ํŒŒ์‹ฑ- HTML, CSS๋ฌธ์ž๋‹จ์œ„๋กœ ํ•˜๋‚˜ํ•˜๋‚˜ ๋‹ค ํ•ด์„ํ•ด์„œ ๋ฌธ์žฅ์ด ๊ฐ€์ง„ ์˜๋ฏธ๋ฅผ ํŒŒ์•…ํ•˜๋Š”๊ฒƒ
  • DOM - Documemt Object Medel์˜ ์ค„์ž„๋ง๋กœ ์ผ์ข…์˜ ํŠธ๋ฆฌ ๋ชจ์–‘์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ
  • Rander Tree - HTML + CSS ํ•ฉ์นœ๊ฒƒ 

๋”์šฑ ์ž์„ธํžˆ๋Š” ๋‹ค์Œ๋ฒˆ์— ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค ใ…Žใ…Žใ…Žใ…Ž 
๋‹ค์Œ์— ๋งŒ๋‚˜์šฉ ๋น ์ž‰~~

 

๐Ÿ’ How Browser Work?
https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/

๐Ÿ’ ๋ Œ๋”๋ง
https://velog.io/@codenmh0822/%EB%A0%8C%EB%8D%94%EB%A7%81Rendering

๐Ÿ’ Web Server-Clinet ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ์ดํ•ด
https://hackernoon.com/http-made-easy-understanding-the-web-client-server-communication-yz783vg3

728x90