본문 바로가기

개발자사전/기타

웹의 작동원리를 알아보자! 클라이언트, 서버는 무슨뜻일까? 우리가 홈페이지에 접속하면 일어나는 일! request response(요청 응답) 원리 이해

안녕하세요 :) 

 

오늘은 '웹의 작동원리'에 대해 알기쉽게 알아볼게요!

 

간략한 비유를 먼저 들어볼까요?

 

은 아래의 그림과 같이 '도로(road)'입니다. 

그리고 이 도로를 사이에 두고 왼쪽에는 집(home)이 있고, 오른쪽에는 가게(market)가 있습니다. 

 

만약, 여러분이 무언가가 필요하다면, 도로를 건너서 가게로 가야겠죠?

위의 그림에서 유유자적 길을 건너고 있는 누군가(사용자) 처럼요.

그리고, 가게에서 필요한 물건을 산다음에는 다시 도로를 건너서 집으로 돌아갑니다. 

 

 

위의 비유를 그대로 웹의 작동원리에 적용시키면 됩니다. 

도로는 web, 집은 client, 가게는 server죠.

아래의 그림을 볼까요? 

 

웹에 연결된 컴퓨터를 클라이언트  서버 라고 합니다 . 상호 작용 방식은 도로를 왔다갔다 하는것과 같이,

클라이언트는 필요에 의해 요청(request)하고, 서버는 반응(response)합니다. 

 

 

여기서 클라이언트란 사용자의 인터넷 연결기기(네트워크에 연결된 컴퓨터 혹은 휴대폰등)와

해당 기기에서 사용할 수 있는 웹 액세스 소프트웨어(인터넷익스플러러, 크롬등)를 뜻합니다.

 

 

 서버는 페이지, 사이트 또는 앱을 저장하는 컴퓨터입니다. 

클라이언트 장치가 웹 페이지에 액세스하기를 원할 때(요청하면),

서버의 컴퓨터가 가지고 있는 웹 페이지의 복사본이 클라이언트 컴퓨터로

다운로드되어 사용자의 웹 브라우저에 디스플레이되는 것입니다.

 

 

조금 디테일하게 들어가볼까요? 

 

  • 인터넷 연결 : 웹에서 데이터를 보내고받을 수 있습니다. 기본적으로 집과 가게 사이의 거리와 같습니다. (당연히 거리가 부숴져 있으면, 데이터를 주고 받을 수 없겠죠?)

 

  • TCP / IP : 전송 제어 프로토콜 및 인터넷 프로토콜은 데이터가 웹을 통해 이동하는 방식을 정의하는 통신 프로토콜입니다. 이는 주문을하고, 가게에 가서 물건을 사게하는 전송 메커니즘과 같습니다. 이 예에서는 자동차 또는 자전거와 유사합니다 (예를들어, 도로를 건너기 위해서는 자동차나 자전거를 꼭 타야한다. 이런 규정, 약속이라고 생각하시면 됩니다.).

 

  • DNS : 도메인 이름 서버는 웹 사이트의 주소록과 같습니다. 브라우저에 웹 주소를 입력하면 브라우저는 웹 사이트를 검색하기 전에 DNS를보고 웹 사이트의 실제 주소를 찾습니다. 브라우저는 웹 사이트가 살아있는 서버를 찾아야하므로 HTTP 메시지를 올바른 위치로 보낼 수 있습니다. 이것은 가게의 주소를 찾는 것과 같습니다. 주소를 정확히 알아야 가게에 도착할 수 있겠죠. (실제 웹주소는 사용자가 입력하는 예쁜 이름이아닌, '63.245.215.20' 따위로 되어 있는데 이것을 IP주소라고 합니다. 하지만 기억하기 쉽지 않기 때문에 Domail Name Server가 만들어졌고, 이 서버에서는 사용자가 입력한 예쁜 웹주소 tistory.com와 안예쁜 실제주소가 일치하게 됩니다. 쉽게 주소록 이라고 생각하시면 됩니다.)

 

 

  • HTTP : Hypertext Transfer Protocol은 클라이언트와 서버가 서로 대화 할 수있는 언어를 정의 하는 응용 프로그램 프로토콜 입니다. 이것은 당신이 물건을 주문할 때 사용하는 언어와 같습니다. (사용자는 한국어를 쓰는데, 가게 점원은 중국어를 쓰게 되면 대화가 통화지 않으니, 둘다 한국어를 쓰자라는 규약, 약속이라고 생각하시면 됩니다.)

 

  • 구성 요소 파일 : 웹 사이트는 다양한 파일로 구성되어 있습니다 .이 파일은 상점에서 구입하는 다양한 제품과 같습니다. 이 파일들은 두 가지 주요 유형으로 나뉩니다. 
    • Code File : 웹 사이트는 기본적으로 HTML, CSS 및 JavaScript를 기반으로 작성되지만 나중에 다른 기술을 만나게됩니다.
    • Assets : 이미지, 음악, 비디오, Word 문서 및 PDF와 같은 웹 사이트를 구성하는 다른 모든 요소의 집합 이름입니다.

 

 

 

 

여러분이 홈페이지에 접속하면? 즉, 브라우저에 웹 주소를 입력하면?

  1. 브라우저는 DNS 서버로 이동하여 웹 사이트가있는 서버의 실제 주소를 찾습니다 
  2. 브라우저는 서버에 HTTP 요청 메시지를 보내서 클라이언트에게 웹 사이트의 복사본을 보내달라고 요청(request)합니다 . 메시지(주문표) 클라이언트와 서버간에 전송 된 다른 모든 데이터는 TCP / IP(자전거 등)를 사용하여 인터넷 연결(도로)을 통해 전송됩니다.
  3. 서버가 클라이언트의 요청을 승인하면 서버는 클라이언트에게 "200 OK"메시지('알겠다, 보내줄게' 라는 반응)를 보내고(response), 사용자는 그때에 웹 사이트를 볼 수 있는 것입니다. 일련 번호로 웹 사이트의 파일을 브라우저로 보내기 시작합니다. (작은 덩어리로 된 데이터 패킷)
  4. 브라우저는 그 작은 덩어리들를 모아서 완전한 웹 사이트로 보여줍니다.