우리가 웹 브라우저에 주소(www.google.com)를 입력하고 엔터를 치면, 웹 페이지가 눈앞에 나타나기까지 보이지 않는 곳에서 여러 통신이 일어납니다. 이 과정을 이해하는 것이 웹 관리의 첫걸음입니다.
클라이언트-서버 모델 (Client-Server Model):
www.google.com을 입력합니다.www.google.com의 진짜 IP 주소가 뭐야?"라고 물어봅니다.172.217.175.110 이야"라고 IP 주소를 알려줍니다.172.217.175.110)를 찾아가, HTTP(HyperText Transfer Protocol)라는 통신 규약에 맞춰 "Google 홈페이지(HTML 문서)를 줘!"라고 요청(Request)합니다.| 기술 | 역할 | 설명 | 비유 |
|---|---|---|---|
| HTML | 구조 (Structure) | 웹 페이지의 뼈대를 잡고, 텍스트, 이미지, 비디오 등 콘텐츠의 의미와 구조를 정의합니다. | 건물의 골조, 사람의 뼈 |
| CSS | 스타일 (Presentation) | HTML로 만들어진 구조에 색상, 폰트, 레이아웃 등 시각적인 디자인을 입힙니다. | 건물의 인테리어, 사람의 옷 |
| JavaScript | 동작 (Behavior) | 사용자의 클릭, 스크롤 등 상호작용에 반응하고, 콘텐츠를 동적으로 변경하거나 서버와 통신합니다. | 건물의 엘리베이터, 사람의 움직임 |
style="...")을 넣거나, 동작(onclick="...")을 넣는 것은 유지보수를 매우 어렵게 만듭니다.주요 역할: 동적(Dynamic) 콘텐츠를 생성하여 제공합니다.
동적 콘텐츠: 사용자의 요청, 시간, 데이터베이스의 값 등에 따라 내용이 실시간으로 변경되는 콘텐츠. (e.g., 로그인 정보, 게시판 목록, 현재 시간)
동작: 클라이언트의 요청을 받아, 서버 사이드 언어(Java, Python, PHP 등)로 작성된 비즈니스 로직을 실행하고, 데이터베이스를 조회하는 등의 처리를 거쳐 결과를 HTML 형태로 생성하여 웹 서버에 전달합니다.
대표적인 소프트웨어: Tomcat (Java), Gunicorn (Python)
현대적인 웹 아키텍처: 보통 웹 서버와 WAS를 함께 사용합니다.