Client : 일반적인 웹 사용자의 인터넷이 연결된 장치들(컴퓨터, 스마트폰)과 이런 장치들에서 이용가능한 웹에 접근하는 소프트웨어(파이어폭스, 크롬과 같은 웹 브라우저)이다.
Server : 웹페이지, 사이트, 또는 앱을 저장하는 컴퓨터이다. 클라이언트의 장비가 웹페이지에 접근하길 원할 때, 서버로부터 클라이언트의 장치로 사용자의 웹 브라우저에서 보여지기 위한 웹페이지의 사본이 다운로드 된다.
<필요 지식>
TCP/IP : Transmission Control Protocol(전송 제어 규약)과 Internet Protocol(인터넷 규약)은 데이터가 어떻게 웹을 건너 여행해야 하는지 정의 하는 통신 규약이다.
DNS : Domain Name System (도메인 이름 시스템)은 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발되었다. 브라우저에 웹 주소를 입력할 때, 브라우저는 그 웹사이트를 검색하기 전에 DNS를 살펴본다. 브라우저는 HTTP 메시지를 올바른 장소로 전송하기 위해 그 웹사이트가 있는 서버가 어떤것인지 찾아야 한다.
HTTP : Hypertext Transfer Protocol(하이퍼텍스트 전송 규약)은 클라이언트와 서버가 서로 통신할 수 있게 하기 위한 언어를 정의하는 어플리케이션 규약이다.
<동작 과정>
1. 브라우저에 웹 주소를 입력한다.
2. 브라우저는 DNS 서버로 가서 웹사이트가 있는 서버의 진짜 주소를 찾는다.
3. 그 다음 브라우저는 서버에게 웹사이트의 사본을 클라이언트에게 보내달라는 HTTP 요청 메세지를 서버로 전송한다(메세지와 클라이언트-서버 사이에 전송된 모든 데이터는 TCP/IP 연결을 통해 전송)
4. 메세지를 받은 서버는 클라이언트의 요청을 승인하고 클라이언트에게 OK 메세지를 보낸다. 그 후 서버는 웹사이트의 파일들을 데이터 패킷이라 불리는 작은 일련의 덩어리들로 브라우저에 전송하기 시작한다.
5. 브라우저는 데이터 패킷을 완전한 웹 사이트로 조립하고 화면에 띄운다.
참고 : https://developer.mozilla.org/ko/docs/Learn/Getting_started_with_the_web/How_the_Web_works
'CS' 카테고리의 다른 글
동시성(Concurrency)와 병렬성(Parallelism) (0) | 2021.12.28 |
---|---|
호스팅이란 무엇인가 (0) | 2021.12.28 |
DNS와 작동 원리 (0) | 2021.12.28 |
브라우저의 작동 원리 (0) | 2021.12.27 |
인터넷 작동의 원리(Network) (0) | 2021.12.27 |