이번 포스팅은 모바일 웹의 기본 구조와 웹 서비스 동작 과정을 이해해 보는 포스팅을 작성해 보도록 하겠습니다.
모바일 웹의 기본 구조와 웹 서버 클라이언트의 역할을 이해하는 것은 웹 서비스의 작동 방식을 파악하는 데 중요합니다.
먼저 웹의 기본 구조부터 파악해 보도록 하겠습니다.
모바일 웹의 기본 구조
웹은 클라이언트와 서버, 웹 서버 소프트웨어, 데이터베이스라는 주요 구성 요소로 이루어져 있습니다. 이들 간의 상호작용을 통해 웹 페이지가 요청되고 제공됩니다.
이를 식당에 비유해 보자면
클라이언트는 고객
서버는 주방
웹 서버 소프트웨어는 식당의 조리 도구와 시스템
데이터베이스는 창고
이렇게 비유를 하면 될 것 같습니다.
고객(클라이언트)이 식당에 들어가면 손님은 메뉴를 보고 원하는 음식을 주문하게 됩니다.
이때 주방(서버)은 손님의 주문을 받아 음식을 준비합니다.
이 과정에서 식당의 조리 도구와 시스템(웹 서버 소프트웨어)은 주물을 처리하여 음식을 만드는 데 도움을 줍니다.
창고(데이터베이스)에서 필요한 재료를 가져옵니다.
최종적으로, 완성된 음식은 서버(주방)가 직접 고객(클라이언트)에게 제공하는 서비스입니다.
즉, 메인 동작은 고객(클라이언트)과 주방(서버)이 담당하지만, 식당의 조리 도구와 시스템(웹 서버 소프트웨어)과 창고(데이터베이스)는 보조적인 역할을 하여 웹 페이지 요청을 처리하고 필요한 데이터를 제공하는 것입니다.
라고! 표현할 수 있을 것 같습니다. 여기서 식당은 웹 서버겠죠?
옛날에는 서버와 클라이언트를 구분하여 운영했었습니다. 그 이유는 컴퓨터의 사양과 자원 제한 때문이었습니다. 서버는 많은 데이터를 처리하고, 요청을 관리하며, 네트워크를 통해 서비스를 제공하는 역할을 하기에 강력한 성능과 높은 안정성을 요구했습니다. 반면, 클라이언트는 주로 서버로부터 정보를 요청하고 결과를 표시하는 역할을 했습니다.
즉 과거에는
- 서버: 고성능, 대용량 저장소, 높은 네트워크 대역폭 등을 요구하며, 많은 사용자 요청을 동시에 처리할 수 있는 컴퓨터
- 클라이언트: 상대적으로 낮은 성능의 컴퓨터로, 서버에 요청을 보내고 서버의 응답을 받아서 처리
하지만 현대의 컴퓨터 사양이 많이 향상되면서 서버와 클라이언트 역할을 동시에 수행할 수 있는 능력을 갖추게 되었습니다. 현재는 강력한 하드웨어, 클라우드 컴퓨팅, 소프트웨어의 큰 발전 등으로 인하여 서버와 클라이언트를 구분하지 않고 하나의 컴퓨터에서 두 역할을 수행할 수 있습니다.
결과적으로, 현재는 하나의 컴퓨터가 서버와 클라이언트의 역할을 모두 수행할 수 있어, 시스템 구성과 관리가 더욱 유연해지고 효율적으로 변했다는 점을 알 수 있습니다.
웹 서비스 동작 과정 - HTTP 동작 과정
웹의 기본 구조를 알아봤으니 동작 과정을 확인해 보겠습니다.
먼저 HTTP란?
많은 분들이 익숙하실 텐데요.
이렇게 특정 웹사이트의 고유한 주소 즉, 도메인 주소를 입력하실 때 앞에 보시면 http가 붙는 것을 알 수 있습니다.
HTTP는 Hyper Text Transfer Protocol의 약자입니다.
웹 브라우저와 서버 간에 데이터 전송하는 데 사용되는 프로로콜로, 기본적으로 웹 페이지를 요청하고 응답하는 방식을 정의합니다.
그럼 다시 동작 과정을 알아보자면.
1. 웹 브라우저 -> DNS 서버 (URL 입력)
사용자가 웹 브라우저에 URL(예: www.example.com)을 입력합니다.
이때, 브라우저는 DNS 서버(Domain Name System 서버)로 요청을 보냅니다.
DNS 서버는 사용자가 입력한 도메인 이름을 IP 주소로 변환하는 역할을 합니다.
2. DNS서버 -> 웹 브라우저 (IP 주소로 변환)
DNS 서버는 해당 도메인 이름과 연결된 IP 주소를 찾아 웹 브라우저로 전달합니다.
웹 브라우저는 이제 이 IP 주소를 사용해 정확한 서버 위치를 알고, 요청을 보낼 준비를 합니다.
3. 웹 브라우저 -> 웹 서버 (HTML 페이지 요청)
브라우저는 IP 주소를 통해 웹 서버에 접속하고, 사용자가 요청한 웹 페이지(HTML 파일)를 웹 서버에 요청합니다.
이때 사용자가 입력한 URL을 기반으로 브라우저는 HTTP(S) 요청을 생성하여 웹 서버에 전달합니다.
4. 웹 서버 -> 웹 브라우저 (HTML 파일 전송)
웹 서버는 클라이언트의 요청을 받아 해당하는 HTML 페이지를 찾습니다.
페이지를 찾은 후, 웹 서버는 이 HTML 파일을 HTTP(S) 응답으로 브라우저에 다시 전송합니다.
5. 웹 브라우저 -> 사용자에게 웹 페이지 표시
웹 브라우저는 받은 HTML 파일을 해석하여 화면에 웹 페이지를 렌더링 합니다.
추가적으로 HTML 파일 안에 포함된 CSS, JavaScript, 이미지 파일 등도 각각의 서버에서 추가로 요청하여 화면에 보여줍니다.
위에 과정을 간단하게 정리해자면
웹 브라우저 → DNS 서버 (URL 입력)
DNS 서버 → 웹 브라우저 (IP주소로 변환)
웹브라우저 → 웹 서버 (HTML 페이지 요청)
웹 서버 → 웹 브라우저 (HTML 파일 전송)
이렇게 웹 서비스의 동작 과정을 알아봤습니다.
위에 동작 과정 중에서 도메인 주소를 IP주소로 변환해서 찾아 전달한다.라는 부분에서 알 수 있는 것은
도메인의 진짜 주소는 IP주소라는 것입니다.
이게 무슨 말이냐면
도메인 주소는 사람들이 쉽게 기억할 수 있도록 만들어진 텍스트 주소입니다. 실제로 컴퓨터와 서버는 IP 주소라는 숫자 조합을 통해 서로 통신하는 것이죠.
사람들은 서로를 부를 때 이름을 사용합니다. 왜냐하면 이름은 기억하기 쉽고 상징적이기 때문입니다. 하지만 만약 우리가 사람을 부를 때 이름 대신 주민등록번호를 사용한다면?
“홍길동아”라고 부르는 대신 “야 000000-0000000”라고 부른다면 많은 사람들의 이름을 기억할 수 없을 것이고 불편하고 복잡할 것입니다.
컴퓨터 세계에서도 비슷한 원리가 적용되는 것입니다.
웹사이트에 방문할 때 우리는 도메인 이름(예: https://www.tistory.com/)을 입력합니다. 도메인은 기억하기 쉽고 의미가 있는 문자열이기 때문에 사람들이 쉽게 웹사이트에 접근할 수 있게 도와줍니다.
웹사이트에 접근할 때 IP 주소를 (예:123.45.678.9) 치고 들어가면 많은 웹사이트 주소를 기억하기 힘들 것이고 많은 불편함을 느낄 것입니다.
그래서 도메인 주소가 존재하는 것이고 도메인의 진짜 주소는 IP주소다라는 것입니다.
도메인은 단지 우리가 알아보기 쉬운 “이름”일뿐이고, 실제로 웹사이트는 IP주소라는 숫자로 된 주소로 식별됩니다.
잘못된 내용 혹은 오타가 있거나 더 좋은 내용 피드백은 언제나 환영입니다 :)
'IT > 모바일 웹' 카테고리의 다른 글
| [IT/Web] 웹 요청 처리의 중요성 (0) | 2024.12.01 |
|---|---|
| [IT/Web] 웹의 진화: 과거부터 미래까지, 웹 프로그래밍 기술의 변화와 전망 알아보기 (2/2) (2) | 2024.09.28 |
| [IT/Web] 웹의 진화: 과거부터 미래까지, 웹 프로그래밍 기술의 변화와 전망 알아보기 (1/2) (0) | 2024.09.25 |