크롬 작동원리 3

브라우저는 어떻게 작동하는가? (주소창에 엔터를 누르면 생기는 일)

1 단계 : 우리가 브라우저 주소창 내용을 입력하면 어떻게 될까? 웹 브라우저는 당신이 원하는 것이 무엇인지 알고 있다. 웹 브라우저는 사용자가 주소 표시줄에 입력한 내용이 URL인지 검색어인지 확인하여 그게 알맞은 인터페이스를 보여준다. 검색어일 경우에는 바로 설정된 검색 엔진으로 검색하는 기능을, 그리고 사이트인 경우에는 해당 사이트로 넘어갈 수 있도록 조치해준다. 이 과정에서, 브라우저는 미리 준비된 DNS 혹은 서버와 통신함으로써 해당 내용이 URL인지 확인해낸다. (주소창에 입력 된 내용을 준비된 서버로 보내 내용이 URL인지 검색어인지 확인) 2단계 : 사이트의 진짜 주소를 알아낸다. 페이지의 모든 데이터들은 서버에서 오고, 그 서버는 IP주소로 되어있다. 하지만, 18.67.51.57 이런식..

브라우저는 어떻게 작동하는가? (브라우저의 프로세스)

모든 프로그램은 프로세스를 가지고 있다 모든 프로그램은 프로세스를 가지고 있다. Linux를 깔면 당연하게 나오는 CLI의 Shell 조차도 프로세스다. 그렇다면, 웹 브라우저도 프로그램이니 프로세스를 가지고 있을텐데 이 녀석의 아키텍처는 어떻게 될까? 하나의 프로그램이니까 하나의 프로세스만 가지고 있을까? 혹은 두개? 사실 브라우저가 몇 개의 프로세스를 사용하는지는 알 수가 없다. 왜냐하면, 이것은 브라우저마다 작성하기 나름이기 때문이다. 하나의 표준으로 만들어진 아키텍처는 없고, 각각의 브러우저들은 각기 다른 아키텍처를 가지고 있다. 어떤 웹 브라우저는 스레드를 많이 사용하는 프로세스 조금으로 만들어져있기도 하고, 어떤 녀석은 스레드를 조금 만들고 프로세스를 많이 만들어 IPC로 통신하며 작동하기도 ..

브라우저는 어떻게 작동하는가?

들어가면서 현대인들이 가장 많이 사용하는 프로그램은 무엇일까? 단순히 프로그램이라고 하면, 사용하는 휴대전화의 OS를 가장 많이 사용하겠지만, 응용단에서 가장 많이 쓰는 프로그램은 아마도 브라우저 일 것이다. 하지만, 웹 브라우저가 어떻게 돌아가는지 아는 사람은 몇 명이나 있을까? 나는 최근에 프론트로서 프로젝트에 참여하면서 이 신기하고 오묘한 웹브라우저라는 친구에게 꽂혀버렸다. 내가 만든 아주 바보 같은 코드들도 철석같이 알아듣고 내가 원하는 대로 그려주는 이 친구에게 개인적으로 호감이 생겼고, 이런 호감은 이 녀석이 어떻게 작동하는지 알아봐야겠다는 생각으로 이어졌다. 그런 마음을 바탕으로, 나는 웹 브라우저에 대해 잘 알지도 못했지만 수요지식회에 "브라우저는 어떻게 작동하는가?"라는 주제로 발표를 잡..