ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HTTP 상태코드
    Http 웹 기본지식 2022. 8. 31. 00:49
    반응형

    상태코트란

    클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능

     

    1xx (informational) - 요청 진행중

     

    2xx(Successful) - 성공

    200 OK- 요청 성공

    201 Created- 요청이 성공해서 서버쪽에 새로운 리소스 생성

     

    202 Accepted - 요청이 접수되었으나 처리가 완료되지 않음

     

    204 No Content - 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터 없음

    ex) 웹 문서 편집기에서 save 버튼 => save 버튼을 눌러도 같은 화면을 유지해야 한다.

     

    3xx(Redirection)- 요청을 완료하려면 추가적인 행동이 필요한 상태코드

    리다이렉션

    자동 리다이렉트 흐름

    ex)

    - 이벤트를 진행하는데 기존 이벤트 페이지를 /event를 안쓰고 이번 행사는 /new-event를 사용한다.

    하지만 사용자가 /event로 들어오는 상황

     

    1. 클라이언트가 서버에 /event 로 요청을 한다.

    2. 서버에서는 301 Moved Permanently(헤더에 주어진 URL(/new-event)로 완전히 바꼈다는 의미) 응답을 보냄

    3. 응답을 받은 클라이언트가 자동으로 응답에 들어온 헤더의 URL(/new-event)로 다시 요청을한다.(리다이렉트한다.)

    4. 서버는 /new-event에 해당하는 html을 반환한다.

     

    종류

    영구 리다이렉션 - 특정 리소스의 URI가 영구적으로 이동

    301 Moved Permanently

    리다이렉트 요청 메서드가 GET으로 변하고 본문이 제거 될 수 있다.

     

    308 Permanent Redirect

    301과 기능은 같고 리다이렉트할때 요청 메서드와 본문이 유지된다.

     

    일시 리다이렉션 - 일시적인 변경

    302 Found

    리다이렉트 요청 메서드가 GET으로 변하고 본문이 제거 될 수 있다.

     

    307 Temporary Redirect

    302과 기능은 같고 리다이렉트할때 요청 메서드와 본문이 유지된다.

     

    303 See Other

    302과 기능은 같고 리다이렉트할때 요청 메서드가 GET으로 변경된다.

     

    307, 303의 사용을 권장하지만 많은 애플리케이션 라이브러리들이 302를 기본값으로 사용중

    자동 리다이렉션시에 GET으로 변해도 되면 그냥 302를 사용해도 큰 문제 없음

     

    특수 리다이렉션 - 결과대신 캐시를 사용 

    304 Not Modified

    클라이언트에게 리소스가 수정되지 않았음을 알려준다. 그래서 로컬pc에 저장된 캐시를 재사용한다.

     

    기타 리다이렉션

    300 Multiple Choices : 사용하지 않음

    4xx(Client Error) - 오류의 원인이 클라이언트에 있음

    400 Bad Requeset - 클라이언트가 잘못된 요청을함

     

    401 Unauthorized - 클라이언트가 해당 리소스에 대한 인증이 필요함

    인증이 되지 않음

    403 Forbidden - 서버가 요청을 이해했지만 승인을 거부함

    접근 권한이 불충분한 경우

    ex) admin

    404 Not Found - 요청 리소스를 찾을 수 없음

     

    5xx(Server Error) - 오류의 원인이 서버에 있음

    500 Internal Server Error - 서버 문제로 요류발생, 애매하면 500오류

    503 Service Unavailable - 서비스 이용 불가

    서버가 일시적인 과부하 또는 예정된 작업으로 잠시 요청 처리가 불가능한 상황

    Retry-After 헤더 필드로 얼마뒤에 복구 되는지 보낼 수도 있음

     

    참고

    https://developer.mozilla.org/ko/docs/Web/HTTP/Status/301

    https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC

     

    모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의

    실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., - 강의 소개 | 인프런...

    www.inflearn.com

     

    'Http 웹 기본지식' 카테고리의 다른 글

    HTTP기본(1)  (2) 2022.07.04
    인터넷 네트워크(2) - TCP, UDP  (0) 2022.06.09
    인터넷 네트워크(1)  (2) 2022.05.20

    댓글

Designed by Tistory.