이번 글에서는 '웹의 동작 방식'을 설명하여 웹 브라우저 안에서 웹페이지를 볼 때 무슨 일이 발생하는지에 대하여 설명 할 것입니다.
클라이언트와 서버
웹에 연결된 컴퓨터는 클라이언트와 서버라고 합니다. 아래 다이어그램을 통해 클라이언트와 서버가 어떻게 상호작용하는가에 대해 확인 할 수 있습니다.
클라이언트는 일반적인 웹 사용자의 인터넷이 열결된 장치들과 이런 장치들에서 이용가능한 웹에 접근하는 소프트웨어 입니다.
서버는 웹페이지, 사이트, 또는 앱을 저장하는 컴퓨터입니다. 클라이언트의 장비가 웹 페이지에 접근하길 원할 때, 서버로부터 클라이언트의 장치로 사용자의 웹 브라우저에서 보여지기 위한 웹페이지의 사본이 다운로드 됩니다.
도구 상자의 다른 부분들
클라이언트와 서버가 웹을 통해 통신하기 위해서는 아래와 같은 도구들이 필요합니다.
인터넷 연결 : 여러분이 웹에서 데이터를 보내고 받을 수 있게 해줍니다.
TCP/IP : Transmission Control Protocol과 Internet Protocol은 데이터가 어떻게 웹을 건너 여행해야 하는지 정의하는 통신 규약입니다.
DNS : Domain Name System Server는 웹사이트를 위한 주소록과 같습니다. 브라우저에 웹 주소를 입력할 때, 브라우저는 그 웹사이트를 검색하기 전에 DNS를 살펴봅니다. DNS는 브라우저가 HTTP 메시지를 올바은 장소롤 전송하기 위해 어느 서버가 목적지인지 식별하게 해줍니다.
HTTP : Hypertext Transfer Protocol은 클라이언트와 서버가 서로 통신할 수 있게 하기 위한 언어를 정의하는 어플리케이션 규약 입니다.
컴포넌트 파일 : 한 웹사이트는 다른 많은 파일들로 만들어집니다.
코드 파일 : HTML, CSS, JavaScript
자원 : 이미지, 음악 ,비디오, 단어 문서, PDF etc.
그래서 무슨일이 발생할까요?
브라우저는 DNS 서버로 가서 웹사이트가 있는 서버의 진짜 주소를 찾습니다.
그 다음 브라우저는 서버에게 웹사이트의 사본을 클라이언트에게 보내달라는 HTTP 요청 메세지를 서버로 전송합니다. 이 메세지, 그리고 클라이언트와 서버 사이에 전송된 모든 데이터는 TCP/IP 연결을 통해서 전송 됩니다.
이 메세지를 받은 서버는 클라이언트의 요청을 승인하고, "200 OK" 메세지를 클라이언트에게 전송합니다. 그 다음 서버는 웹사이트의 파일들을 데이터 패킷이라 불리는 작은 일련의 데이터 덩어리들로 브라우저에 전송하기 시작합니다.
브라우저는 이 작은 데이터 덩어리들을 완전한 웹 사이트로 조립하고, 사용자에게 보여줍니다.
DNS
실제 웹 주소는 IP라고 하는 기억하기 어려운 숫자들로 이루어져 있습니다. 이 IP 대신 읽히기 쉽고 기억하기 좋은 대체품이 DNS입니다. 이 DNS는 사용자가 브라우저에 입력하는 웹주소("moilla.org") 를 웹사이트의 실제 IP 주소에 맞춰주는 특별한 서버입니다.
패킷
기본적으로 데이터가 웹을 거쳐서 전송될 때, 수전개의 작은 덩어리들로 전송됩니다. 그래서 다양한 웹 사용자들은 동시에 같은 웹 사이트를 다운로드 할 수 있게 됩니다. 만약 웹 사이트가 하나의 큰 덩어리들로 전송된다면, 오직 한 번에 하나의 사용자만 다운로드 할 수 있을 것입니다.
댓글 영역