요청과 응답의 순환
여기 그 춤이, 처음부터 끝까지 있다. 당신이 주소를 입력하면, 보이지 않는 곳에서 1초도 안 되는 사이에 이런 일이 벌어진다:
CLIENT (your browser) SERVER (in a data center)
| |
| 1. REQUEST |
| "GET /products/shoes" ------------------> |
| | 2. server thinks:
| | looks up the shoes,
| | builds the page
| |
| 3. RESPONSE |
| <------------------ "200 OK + the page" |
| |
4. browser draws |
the page on screen |
| |
매번 네 단계다:
- 클라이언트가 URL로 request를 보낸다.
- 서버가 그것을 처리한다 — 무언가를 찾아보거나, 로직을 돌리거나, 당신이 누구인지 확인할 수도 있다.
- 서버가 response를 돌려보낸다: 상태(작동했는가?)와 약간의 콘텐츠(페이지, 이미지, 또는 데이터).
- 클라이언트가 그 응답으로 무언가를 한다 — 보통은 당신의 화면에 그린다.
웹 페이지 하나를 불러오는 것은 요청 하나가 아니다 — 수십 개다. 브라우저는 페이지를 요청하고, 그다음 이미지·폰트·스타일이 필요하다는 것을 보고, 각각에 대해 새로운 요청을 쏘아 보낸다. 같은 춤을, 여러 번, 아주 빠르게.