웹 페이지에 접속할 때 발생하는 요청(request)과 응답(response) 과정에 대해 설명합니다.
- 기본 개념: 웹 브라우저를 통해 웹 페이지에 접속할 때, 우리는 브라우저가 서버에 요청을 보내고 서버로부터 응답을 받는 과정을 거칩니다. 이 과정은 사용자가 브라우저의 주소창에 URL을 입력하고 엔터를 누르는 순간 시작됩니다.
- 요청(Request): 요청은 실제로 텍스트 문서 형태로 서버에 전송됩니다. 이 문서에는 세 가지 주요 정보가 포함됩니다:
- HTTP Method: 서버가 수행해야 할 동작을 정의합니다. 예를 들어, ‘POST‘는 서버에 새로운 리소스를 생성하도록 요청합니다.
- 헤더(Headers): 요청에 대한 추가 정보를 포함합니다. 예를 들어, 내용의 길이나 타입 등을 명시할 수 있습니다.
- 내용(Content): 실제 전송하고자 하는 데이터입니다. 이는 선택적 필드로, ‘POST’ 요청 시 데이터 생성에 사용됩니다.
- 응답(Response): 서버는 요청을 처리한 후 응답을 클라이언트에게 보냅니다. 응답에는 다음과 같은 세 가지 주요 정보가 포함됩니다:
- 상태 코드(Status Code): 요청이 성공했는지, 실패했는지를 나타냅니다. 예를 들어, ‘201 Created’는 요청된 리소스가 성공적으로 생성되었음을 의미합니다.
- 헤더(Headers): 응답에 대한 추가 정보를 제공합니다.
- 내용(Content): 서버가 클라이언트에게 보내는 실제 데이터입니다.
- 상태 비저장(Stateless): 서버는 상태 비저장(stateless)이라는 중요한 특징을 가집니다. 즉, 서버는 요청을 처리하고 응답을 보낸 후 해당 요청에 대한 정보를 기억하지 않습니다. 이는 서버의 메모리와 디스크 사용량을 최소화하는 데 도움이 됩니다.