앞에서 브라우저는 요청을 보내고, 서버는 응답을 돌려준다고 했다.
여기서 더 중요한 포인트가 하나 있다.
request와 response는 항상 한 쌍으로 묶여서 동작한다는 점이다.
웹은 “요청을 보내면 끝”이 아니다.
서버는 그 요청에 대한 결과를 반드시 만들어서 응답으로 돌려준다.
즉, 요청과 응답은 세트이다.
request는 “서버에게 요구하는 메시지”이다
request는 브라우저가 서버에게 보내는 메시지이다.
이 메시지 안에는 보통 이런 정보들이 들어 있다.
- 어떤 주소(URL)를 요청했는가
- 어떤 방식(GET/POST 등)으로 요청했는가
- 서버에게 전달할 데이터(파라미터)가 있는가
- 브라우저 정보(헤더)나 쿠키 같은 추가 정보가 있는가
쉽게 말하면 request는 이런 질문에 가깝다.
“서버야, 이 주소에 해당하는 결과를 줘”
“서버야, 이 데이터를 처리해줘”
response는 “요청 결과를 담은 답장”이다
response는 서버가 브라우저에게 돌려주는 결과 메시지이다.
여기에는 다음과 같은 것들이 들어갈 수 있다.
- 화면을 그릴 HTML
- 스타일을 위한 CSS
- 이미지 파일
- JSON 같은 데이터(API 응답)
- 성공/실패 여부(상태 코드)
즉, response는 request에 대한 “답”이다.
웹의 기본 흐름은 이 4단계로 끝난다
request/response 흐름을 가장 단순화하면 아래 4단계이다.
- 브라우저가 서버로 request를 보낸다
- 서버가 request를 분석한다
- 서버가 처리 결과를 만든다
- 서버가 response를 브라우저로 보낸다
그리고 여기서 한 번 더 중요한 사실이 있다.
하나의 request가 끝나면, 그 request에 대한 response도 끝나면서 흐름이 종료된다.
즉, 웹은 “요청 하나 처리하고 끝”인 구조로 설계되어 있다.
(이게 나중에 HTTP의 비연결성/무상태성으로 이어진다)
예시로 보면 더 직관적이다: “검색” 상황
사용자가 브라우저 주소창에 검색을 하고 엔터를 친다고 해보자.
- 브라우저는 서버로 request를 보낸다
- “검색 결과 페이지를 달라”
- “검색어는 이것이다”
- 서버는 request를 보고 처리한다
- 검색어를 읽는다
- 데이터베이스나 검색 시스템에서 결과를 찾는다
- 결과 화면(또는 결과 데이터)을 만든다
- 서버는 response를 돌려준다
- 브라우저가 화면을 그릴 수 있도록 HTML(또는 JSON)을 보낸다
브라우저는 그 response를 받아 화면에 출력한다.
사용자가 “검색 결과를 봤다”라고 느끼는 순간은 사실 이 response가 도착해서 화면이 그려진 순간이다.
개발자 도구(Network)에서 request/response를 직접 볼 수 있다
이 request/response 한 쌍은 개발자 도구에서 그대로 확인할 수 있다.
Network 탭에서 특정 항목 하나를 클릭해보면 보통 이런 식으로 묶여 있다.
- Request Headers
- Response Headers
- (필요하면) Request Body / Response Body
즉, 개발자 도구에서 보이는 “한 줄”이 사실상
request 하나 + response 하나의 단위라고 보면 된다.
정리
- 브라우저는 request를 보낸다
- 서버는 그 request를 처리하고 response를 돌려준다
- request와 response는 항상 한 쌍이다
- 웹에서 “한 번의 통신”은 request/response 한 단위로 끝난다
'Web > Web Basics' 카테고리의 다른 글
| [웹 기초] 5. 웹 서버와 WAS (0) | 2026.03.29 |
|---|---|
| [웹 기초] 4. 정적 데이터와 동적 데이터는 무엇이 다른가 (0) | 2026.03.29 |
| [웹 기초] 3. GET과 POST는 무엇이 다른가 (0) | 2026.03.29 |
| [웹 기초] 1. 브라우저와 서버 (0) | 2026.03.29 |
| [웹 기초] 0. 도입 (0) | 2026.03.29 |