웹을 처음 배우면 HTML, CSS, JavsScript부터 떠올리기 쉽다.
그런데 이번 이론 파트를 관통하는 핵심은 기술 목록이 아니라 구조였다.
웹은 "페이지를 보는 것"이 아니라,
클라이언트가 요청하고 서버가 응답하는 통신 과정이다.
이 관점에서 보면 URL·API·DB는 개별 기술이 아니라 하나의 흐름 안에 놓인 구성 요소다.
웹에는 항상 두 주체가 있다.
이 관계는 절대적인 역할이 아니라 상황에 따라 바뀔 수 있다.
서버도 다른 서버에 요청을 보내는 순간 클라이언트가 될 수 있다.
브라우저는 서버에서 받은 코드를 그대로 "보여주는" 게 아니라,
해석해서 화면으로 번역(렌더링) 한다.
즉, 웹을 이해한다는 건 "화면"이 아니라 "요청·응답·해석"의 흐름을 이해하는 것이다.
인터넷에 연결된 장치가 가지는 고유한 숫자 주소.
숫자(IP)를 사람이 읽기 쉬운 이름(도메인)으로 바꿔주는 시스템.
서버 어디에 있는 무엇을 요청할지 지정하는 상세 주소.
여기서 URL은 단순한 문자열이 아니라 요청을 구체화하는 구조다.
음식점 비유로 보면 URL은 "주소"라기보다 "주문서"에 가깝다.
예시:
/user/123
/products/5
"이 대상 하나를 주세요."
예시:
/products?category=shoes
/search?keyword=react&page=2
?key=value 형태"이 조건에 맞는 것들을 주세요."
/users/1 → 1번 유저라는 자원 요청/users?age=20 → 20살 유저 검색 조건Path는 "대상", Query는 "조건".
이 구분은 URL을 구조적으로 이해하는 기준이 된다.
요청과 응답이 반복되면 서버는 데이터를 저장해야 한다.
DB는 단순 저장이 아니라, 데이터의 구조·보안·동시성을 고려하는 시스템이다.
대부분의 서비스는 중요한 데이터(회원/결제 등)는 관계형에 안정적으로 둔다.
클라이언트가 서버 기능을 사용할 수 있게 해주는 공식 창구.
서버 내부 구현을 몰라도 "정해진 규칙대로 요청"하면 결과를 받을 수 있다.
클라이언트-서버가 데이터를 주고받을 때 널리 쓰는 형식.
사람이 읽기 쉽고, 다양한 언어에서 공통으로 사용된다.
예전에는 페이지 이동마다 화면 전체를 다시 받아오는 방식이 일반적이었다.
하지만 최근 웹은 필요한 데이터만 추가로 요청해 화면을 갱신한다.
웹은 문서 중심에서 애플리케이션 중심으로 진화하고 있다.