HTTP 프로토콜의 요청과 응답
사용자가 브라우저에서 특정 사이트의 페이지를 열고 싶어 한다고 가정해 봅시다. 이를 위해 사용자는 링크를 클릭하거나 브라우저 주소창에 페이지 URL을 입력합니다. 이때 두 방법은 기술적으로 동일합니다.
그 후 브라우저는 서버에게 해당 URL의 페이지를 달라고 요청하는 요청 (request)을 보냅니다. 서버는 브라우저의 요청을 받아 응답 (response)을 구성하여 다시 브라우저로 보냅니다.
요청과 응답은 특별한 방식으로 구성된 단순한 문자열입니다. HTTP 프로토콜은 이러한 문자열 구성 규칙을 규정합니다.
따라서 클라이언트와 서버 간의 모든 상호작용은 탁구 경기에서 공을 주고받는 것처럼 메시지를 주고받는 것으로 요약됩니다.
이때 요청의 시작은 필수적입니다. 이는 서버가 항상 브라우저의 요청에 대한 응답을 보낸다는 것을 의미합니다. 브라우저의 선행 요청 없이 서버가 스스로 무언가를 브라우저에 보낼 수는 없습니다.