[깔끔한 파이썬 탄탄한 백엔드#4]
HTTP 응답구조
HTTP 응답 메시지의 구조 요청 메시지와 마찬가지로 크게 세 부분으로 구성
HTTP/1.1 404 Not Found
1.HTTP Version
2.Status Code
3.Status Text
status code는 HTTP 응답 상태를 미리 지정되어 있는 숫자로 된 코드로 나타내 준다.
예를 들어, HTTP 요청이 정상적으로 처리가 되었으면 응답의 status code는 200이라는 숫자로 표현
헤더
HTTP 응답의 헤더 부분은 HTTP 요청의 헤더 부분과 동일하다. 다만 HTTP 응답에서만 사용되는 헤더 값들이 있다. 예를 들어, HTTP 응답에는 User-Agent 헤더 대신에 Server 헤더가 사용된다
Body
HTTP 응답 메시지의 body도 HTTP 요청 메시지의 body와 동일하다 그리고 요청 메시지와 마찬가지로 전송하는 데이터가 없다면 body 부분은 비어 있게 된다.
자주 사용되는 HTTP Status Code 와 Text
HTTP 요청에서 HTTP 메소드를 잘 이해하는 것만큼 HTTP 응답에서는 HTTP status code와 text를 잘 이해하여 HTTP 응답을 보낼 때 적절한 status code의 응답을 보내는 것 또한 굉장히 중요하다.
200 OK
301 Moved Permanently
HTTP 요청을 보낸 엔드포인트의 URL 주소가 바뀌었다는 것을 나타내는 status code다
400 Bad Request
이름 그대로 HTTP 요청이 잘못된 요청일 때 보내는 응답코드
401 Unauthorized
HTTP 요청을 처리하기 위해서는 해당 요청을 보내는 주체의 신분 확인이 요구되나 확인할 수 없었을 때 보내는 응답 코드
403 Forbidden
HTTP 요청을 보내는 주체가 해당 요청에 대한 권한이 없음을 나타내는 코드
404 Not Found
HTTP 요청을 보내고자 하는 URI가 존재하지 않을 때 보내는 응답 코드
500 Internal Server Error
내부 서버 오류가 발생