* HTTP 상태 코드
: 5개의 클래스로 분류
클라이언트의 요청에 대한 서버의 응답 상태를 나타내는 3자리 숫자
상태코드 첫 숫자(5XX의 5)가 응답의 클래스를 정의함
1XX | 정보성 응답 | 서버가 클라이언트의 요청을 받았으며, 요청 처리를 계속 진행 중 |
2XX | 성공 | 요청 받기 성공 |
3XX | 리다이렉션 | 요청 완료 위해 클라이언트의 추가 작업이 필요 |
4XX | 클라이언트 오류 | 요청 문법 오류등으로 인한 요청 처리 불가 |
5XX | 서버 오류 | 서버가 유효한 요청에 대해 실패 |
* 상태 코드 종류
1) 1XX (정보성 응답)
- 100 : Continue
클라이언트가 서버에게 요청을 보내는 중간에, 요청의 일부만을 먼저 보내고, 나머지 요청을 계속 보내도 괜찮은지 서버에게 물어볼 때 100을 보내주면 클라이언트가 나머지 부분을 계속해서 보낼 수 있음
- 101 : Switching Protocols
서버가 클라이언트의 프로토콜 변경 요청을 이해하고 그 요청에 응할 준비가 되었음을 나타냄
- 102 : Processing
서버가 클라이언트의 요청을 수신하고 있으며, 아직 요청을 계속 처리 중이라는 신호
2) 2XX (성공)
- 200 : OK
클라이언트의 요청이 성공적으로 처리되었으며, 요청된 리소스가 정상적으로 반환되었음
웹 페이지를 정상적으로 로드할 때 이 코드가 반환
- 201 : Created
클라이언트의 요청이 성공적으로 처리되었으며, 그 결과로 새로운 리소스가 생성되었음
POST 요청에 대한 응답으로 사용
- 202 : Accepted
클라이언트의 요청이 서버에 의해 받아들여졌지만, 아직 처리되지 않았음
요청이 큐에 들어갔으며, 처리 중이거나 처리될 예정임을 의미 -> 비동기 처리에 사용
- 204 : No Content
클라이언트의 요청이 성공적으로 처리되었지만, 반환할 콘텐츠가 없음
DELETE 후에 이 코드가 반환될 수 있음
3) 3XX (리다이렉션)
- 301 : Moved Permanently
클라이언트가 요청한 리소스가 영구적으로 다른 URL로 이동되었음을 나타냄.
1) 서버는 이 상태 코드를 응답으로 보내고, 새로운 URL을 Location 헤더에 포함시킴
2) 응답을 받은 클라이언트는 자동으로 새로운 URL로 요청을 다시 보냄
3) 검색 엔진은 이 코드를 받으면 원래 URL 대신 새로운 URL을 반영(원래 URL을 인덱스에서 제거)
- 302 : Found (과거 : Temporary Redirect)
클라이언트가 요청한 리소스가 일시적으로 다른 URL에 있다고 알릴 때 사용
1) 서버는 이 상태 코드를 응답으로 보내고, 새로운 URL을 Location 헤더에 포함시킴
2) 응답을 받은 클라이언트는 자동으로 새로운 URL로 요청을 다시 보냄
단, 클라이언트는 원래의 URL을 계속해서 사용해야 하며, 검색 엔진은 이 URL을 영구적으로 업데이트하지 않음.
-> 새로운 URL은 일시적인 리다이렉션으로 처리
+ 이 둘을 구별하는 것은 사람이 아닌 검색 엔진! -> SEO에 영향
301의 경우에는 기존 URL에 대한 모든 SEO 값(페이지 권한, 링크 주스 등)을 새로운 URL로 영구적으로 이전
-> 원래 URL의 검색 랭킹과 권위가 새로운 URL로 전달
302의 경우에는 원래 URL의 SEO 값과 권위를 유지
4) 4XX (클라이언트 오류)
- 400 : Bad Request
클라이언트의 요청이 잘못되었거나 서버가 이해할 수 없는 형식일 때 사용
ex. 잘못된 구문, 잘못된 메시지 프레이밍, 잘못된 요청 매개변수
- 401 : Unauthorized
클라이언트가 요청한 리소스에 접근하기 위해 인증이 필요하지만, 인증 정보가 제공되지 않았거나 제공된 인증 정보가 유효하지 않을 때 사용
-> '인증이 필요함'을 의미
- 403 : Forbidden
클라이언트가 인증을 했으나 요청된 리소스에 접근할 권한이 없을 때 사용
- 404 : Not Found
클라이언트가 요청한 URL이 서버에서 존재하지 않거나, 찾을 수 없을 때 사용
5) 5XX (서버 오류)
- 500 : Internal Serval Error
서버에서 내부적으로 문제가 발생하여 클라이언트의 요청을 처리할 수 없을 때 사용
구체적인 오류 원인을 클라이언트에게 제공할 수 없거나, 서버가 오류를 식별하지 못했을 때 500 반환
- 503 : Service Unavailable
서버가 일시적으로 과부하 상태이거나 유지보수 중이라서 요청을 처리할 수 없을 때 사용
'스터디 > CS 스터디 (24.06-24.11)' 카테고리의 다른 글
데이터베이스 : 절차형 SQL(프로시저, 사용자 정의 함수, 트리거) (0) | 2024.09.02 |
---|---|
알고리즘 : MST (크루스칼, 프림) (0) | 2024.08.19 |
컴퓨터 구조 : 컴퓨터 시스템 설계 방식(폰노이만 구조/하버드 구조) (0) | 2024.08.05 |
네트워크 : HTTP/HTTPS, TLS/SSL , 브라우저 저장소(쿠키/웹스토리지) (1) | 2024.07.09 |
네트워크 : TCP/UDP, TCP의 3-way/4-way hand shake (0) | 2024.07.09 |