HTTP 상태코드
˙HTTP 상태 코드
Internet(Web) 상에서 Server와 User(Client)가 데이터를 주고받을 때에는 HTTP(Hypertext Transfer Protocol)을 따른다. 이에 대한 상태 코드를 HTTP 상태 코드라고 칭한다(총 5개의 분류로 코드의 자릿수는 3자리로 규약).
˙조건부 응답(1XX)
▷ 데이터(요청)가 수신되어 처리 작업이 진행 중인 상태
- [100] Continue : Client 요청의 시작이 받아들여졌고, 진행 중이며, 나머지를 계속 받아야 하는 경우
˙성공(2XX)
▷ Client가 데이터(요청)를 받아들여 정상적으로 처리한 상태
- [200] OK : Client의 요청이 정상적으로 동작되고, 반환까지 완료한 경우
- [201] Created : Client의 put 요청(Server 개체 생성 요청)이 성공적인 경우
- [202] Accepted : Client의 요청이 정상적이지만, Server가 그에 대한 동작을 수행하지 않은 경우
- [203] No Content : 응답 내용에 대한 헤더와 상태는 존재하지만, 본문이 존재하지 않은 경우
˙리다이렉션* 완료(3XX)
▷ Client의 데이터(요청)를 마치기 위하여 추가 동작이 진행되어야 하는 상태
- [300] Multiple Choices : Client가 동시에 여러 자원(리소스)을 명시하는 URL을 요청하였을 때 복수의 응답이 존재하는 경우
- [301] Moved Permanetly : 요청된 자원(리소스)이 영구적으로 새 위치로 이동한 경우
- [302] Moved Temporarily : Server가 다른 위치의 페이지로 응답하고 있지만, 이후에는 기존 위치로 응답해야 하는 경우
- [304] Not Modified : 마지막(최종) 요청 이후 요청 페이지가 수정되지 않은 경우, 캐시 사용 목적이 있을 경우
- [307] Temporary Redirect : 302 코드 항목과 기능이 동일하지만, 리다이렉트 시 요청 메서드와 본문이 유지
- [308] Permanent Redirect : 301 코드 항목과 기능이 동일하지만, 리다이렉트 시 요청 메서드와 본문이 유지
˙요청 오류(4XX)
▷ Client에 또는 Client에서 오류가 발생한 상태
- [400] Bad Request : Client가 Server에 잘못된 요청을 한 경우
- [401] Unauthorized : Server가 Client 요청에 대해서 HTTP 인증에 대한 확인이 필요(확인을 요청) 한 경우
- [403] Forbidden : Client의 요청에 대하여 접근을 차단하는 경우
- [404] Not Found : Client가 Server에 요청한 페이지(항목, 자료)가 존재하지 않는 경우
˙서버 오류(5XX)
▷ Server가 유효한 데이터(요청)를 정상적으로 처리(수행) 하지 못한 상태
- [500] Internal Server Error : Server에 오류가 발생하여 데이터(요청)를 정상적으로 처리(수행)할 수 없는 경우
- [502] Bad Gateway : Server가 Gateway 또는 Proxy Server* 역할을 하고 있거나 내부로부터 잘못된 응답을 받은 경우
- [503] Service Unavailable : Server가 오버로드* 되었거나 가용상태가 아닌 경우
- [504] Gateway Timeout : Server가 Gateway 또는 Proxy Server 역할을 하고 있거나 요청을 제시간에 받지 못한 경우
* 리다이렉션 : 컴퓨팅에서 표준 스트림을 사용자 지정 위치로 우회할 수 있는 일반적인 인터프리터 명령어
* Proxy Server : Client가 자신을 통해서 다른 Network에 간접적으로 접속할 수 있도록 하여주는 시스템 또는 프로그램
* 오버로드 : 같은 이름의 메서드 여러 개를 가지면서 매개변수의 유형과 개수가 다르도록 하는 형태
( vs 오버 라이딩 : 부모 Class가 가지고 있는 메서드를 자식 Class가 재정의 하여 사용하는 형태)