[Browser에 대한 궁금증]
Web에 대해 Client <-> Server Model 구성이라는 것은 알고 있었다.
다만, 전공 공부를 하며 "Browser"라는 용어는 나오지 않았던 걸로 기억하는데, 브라우저의 기능에 대한 설명을 들었을 때 Browser와 Client DNS server(local)의 차이가 무엇인지 궁금해졌다.
Clinet 요청으로 DNS가 요청해서 받아오는 것일텐데, Browser는 DNS의 일부인가?
조금 더 나아가서 생각해보았다.
DNS resolve를 통해 Client가 Server로 부터 Data(HTML, CSS, JS 등)를 받아왔다고 하자.
그럼 해당 Data를 process해줄 요소가 필요할 것이다. 재료를 가져왔을 때 해당 재료를 조합해 요리를 만들어 주는 기능이 필요한데, 이를 internet exploler, whale, chrome과 같은 Web browser가 필요하지 않을까?
여기까지 browser의 기능을 추론해보고, 이후 검색을 통해 알아보았다.
[위 추론에서 잘못되었던 지식]
1. DNS가 요청해서 Data를 받아온다 (X)
-> DNS는 domain name resolve를 하는 역할이다. 즉, host가 다른 server에 요청할 사항이 있을 때 해당 서버의 IP주소를 recursive query를 통해 알아내어 host에게 알려준다.
-> Data 송수신은 TCP/IP기반 HTTP protocol을 통해 이루어진다.
[궁금증 해소]
위 그림은 web의 동작 원리를 나타낸 모식도이다. 추론했던 기능과 비슷하게 동작한다.
OSI Layer에 비유하면, Web browser는 APP layer에 위치하여 HTTP를 통해 web Server와 송수신하는 Client 역학을 한다고 볼 수 있다.
헷갈렸던 부분에 대해 정리하자면, Web browser는 DNS 기능 등을 abstraction하여 사용자로 하여금 인터넷, 웹을 편리하게 이용할 수 있도록 하는 Application으로 볼 수 있다.
[참고자료]
https://www.mozilla.org/ko/firefox/browsers/what-is-a-browser/
https://velog.velcdn.com/images/ketchup0211/post/d8b016d3-cfc6-4ad0-9596-0e8f9b8f6434
-2023.12.26 TIL-