요청 객체가 서버로 보내지는 정보를 담고 있다면, 응답 객체는 서버로부터의 회신을 나타냅니다.
- 상태 코드(Status Code): 응답의 첫 번째 요소로, 서버에서 수행된 작업과 그 결과를 나타내는 숫자입니다. 상태 코드는 다음과 같이 분류됩니다:
- 100~199: 정보 제공용 코드로, 거의 사용되지 않습니다.
- 200~299: 성공을 나타내는 코드입니다. 가장 흔히 볼 수 있는 코드는 200(성공), 201(생성됨), 204(내용 없음)입니다.
- 300~399: 리다이렉션을 나타내는 코드입니다.
- 400~499: 클라이언트 오류를 나타내는 코드로, 404(찾을 수 없음)와 400(잘못된 요청)이 포함됩니다.
- 500~599: 서버 오류를 나타내는 코드로, 500(내부 서버 오류)가 대표적입니다.
- 헤더(Headers): 응답에 대한 메타데이터를 포함합니다. 예를 들어, 응답의 내용 유형(Content-Type), 응답 내용의 길이(Content-Length), 유효 기간 등을 포함할 수 있습니다.
- 내용(Content): 서버가 클라이언트에게 보내는 실제 데이터입니다. JSON 객체, HTML, 블롭 등 다양한 형태의 데이터가 포함될 수 있습니다.
응답 객체는 요청이 성공적으로 처리되었는지, 실패했다면 그 이유는 무엇인지를 클라이언트에게 알려주는 중요한 역할을 합니다. 상태 코드를 통해 요청의 성공 여부와 오류 유형을 식별할 수 있으며, 헤더와 내용을 통해 추가적인 정보를 제공받을 수 있습니다.
요청 객체와 응답 객체 모두 헤더와 내용을 포함하지만, 요청 객체는 수행하려는 작업을 정의하는 동사(Verb)를, 응답 객체는 작업의 결과를 나타내는 상태 코드(Status Code)를 포함하는 것이 주요 차이점입니다.