해당 포스트는 영진닷컴,『그림으로 배우는 네트워크 NetWork 원리』, Gene 저·김성훈 역을 참고하여 작성하였습니다.
HTTP 리퀘스트에 대한 응답으로 HTTP 리스폰스를 반환합니다. HTTP 리스폰스는 HTTP 리퀘스트와 비슷하게 리스폰스 라인, 메시지 헤더, 엔티티 바디로 구성됩니다.
리스폰스 라인은 다시 버전, 상태 코드, 설명문으로 나뉩니다. 버전은 리퀘스트와 마찬가지로 HTTP의 버전을 나타내며, 현재 주요 버전은 1.0이나 1.1입니다. 상태 코드는 리퀘스트에 대한 웹서버 애플리케이션의 처리 결과를 나타내는 3자리로 된 숫자입니다. 상태 코드에는 많은 종류가 있고, 표처럼 맨 앞자리에서 대략적인 의미가 정해집니다.
설명문이란 상태 코드의 의미를 간단히 보여주는 텍스트입니다. 웹서버 앺플리케이션이 반환하는 상태 코드에서 가장 많은 것은 '200'입니다.
상태 코드 200은 요청을 정상적으로 처리됐음을 나타냅니다. 하지만, 요청이 정상적으로 처리되면 웹브라우저에는 요청한 내용이 표시되므로, 상태 코드 200 자체를 사용자가 보게 되는 경우는 거의 없습니다.
웹브라우저 사용자라면 누구나 한 번쯤 본 적 있는 상태 코드는 아마도 '404'일 것입니다. URL을 잘못 입력하거나 웹페이지가 삭제되거나 하면, 웹서버는 상태 코드 404를 반환합니다. 상태 코드 404를 받으면 웹브라우저에서는 '페이지를 찾을 수 없습니다.' 와 같은 메시지를 보여줍니다.
메시지 헤더는 웹서버 애플리케이션이 더 자세한 정보를 웹브라우저에 전달하기 위해 이용합니다. 예를 들어, 데이터 형식이나 갱신 날짜 등이 기술됩니다.
그 뒤로 구분을 위한 공백 라인이 있고, 공백 라인 뒤에 엔티티 바디가 이어집니다.
엔티티 바디에는 웹브라우저에 돌려보낼 데이터가 들어갑니다. 웹브라우저에 돌려 보내는 데이터는 주로 HTML 파일입니다.