메뉴

문서정보

목차

HTTP Status Code 의사결정 다이어그램

 HTTP Status Code

 HTTP Status Code

출처 : https://github.com/for-GET/http-decision-diagram

HTTP Status Code 에 대해서

HTTP Status Code는 클라이언트의(Mozilla, Chrome, Curl ...등) HTTP 요청이 성공적으로 완료되었는지를 알려준다. 응답은 "정보응답", "성공응답", "리다이렉트", "클라이언트 에러", "서버에러"의 5개 카테고리로 구성된다.

HTTP Status Code는 3자리의 숫자로 표현한다. 첫번째 숫자로 응답 클래스를 확인 할 수 있다.

HTTP Status Code 테스트

curl을 널리 사용한다.
# curl -I http://www.example.com 
HTTP/1.1 200 OK
Content-Encoding: gzip
Accept-Ranges: bytes
Age: 288697
Cache-Control: max-age=604800
Content-Type: text/html; charset=UTF-8
Date: Fri, 19 Jun 2020 01:14:13 GMT
Etag: "3147526947"
Expires: Fri, 26 Jun 2020 01:14:13 GMT
Last-Modified: Thu, 17 Oct 2019 07:18:26 GMT
Server: ECS (sec/976A)
X-Cache: HIT
Content-Length: 648
-I 옵션을 주면 응답 헤더만 확인 할 수 있다. HTTP Status Code는 헤더 첫 번째 줄에 출력된다. 존재하지 않는 페이지를 요청해서 404 Not Found를 반환했다.

# curl -I http://www.joinc.co.kr          
HTTP/1.1 301 Moved Permanently
Server: awselb/2.0
Date: Fri, 19 Jun 2020 01:16:52 GMT
Content-Type: text/html
Content-Length: 150
Connection: keep-alive
Location: https://www.joinc.co.kr:443/

joinc.co.kr는 https 프로토콜을 사용하고 있으므로 http://www.joinc.co.kr 요청에 대해서는 https://www.joinc.co.kr 로 리다이렉트하라고 클라이언트에 301을 반환한다. 301 코드를 받은 클라이언트는 Location에 지정된 URL로 방문 한다.

HTTP Status Code 상세 코드

정보 응답

성공 응답

리다이렉션 메시지

클라이언트 에러 응답

서버 에러 응답