HTTP 상태 코드

수달·2021년 2월 20일
0

HTTP

목록 보기
8/14
post-thumbnail

상태코드

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

- 1xx (Informational) : 요청이 수신되어서 처리중이라는 의미인데 거의 사용하지 않는다.
- 2xx (Successful) : 요청이 정상 처리되고 있다는 의미이다.
- 200 서버가 리소스를 생성했다 ~~

- 201 새로운 리소스를 생성했다, 하고 location 을 넣어줌.

- 202 요청은 접수, 완료는 아직. (배치 처리 같은 곳에 사용함)
- 204 no content 요청은 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없다.
예) 게시글의 저장 결과로 아무 내용이 없어도 된다. 같은 화면을 유지해야 한다.

  • 3xx (Redirection) : 요청을 완료 하려면 웹 브라우저에 추가 행동이 필요하다는 의미다.

    - 300 multiple choices 거의 안씀
    - 301 moved permanently
    리다이렉트시 요청 메서드가 get으로 변하고 본문이 제거될 수 있음
    - 302 found
    요청 메소드를 get 으로 바꿀 수도 있고 아닐 수도 있음
    - 303 see other
    무조건 get으로 요청 메서드를 바꿈

    실무에서 제일 많이 쓰는 것이 일시적인 리다이렉션이다.
    - 304 not modified
    캐시를 목적으로 사용한다.
    클라이언트가 캐시가 만료된 것 같아 다시 데이터를 요청했을 때, 서버가 캐시가 만료되지 않았으니 기존에 가지고 있는 캐시에서 꺼내서 사용하라고 알려준다. (리다이렉트를 캐시로 함)
    응답에 메세지 바디를 포함하면 안된다.
    조건부 get, head 요청시 사용된다.
    - 307 temporary redirect
    302와 유사 그런데 요청 메서드와 본문을 유지해야함
    - 308 permanent redirect
    리다이렉트시 요청 메서드와 본문 유지

    PRG : Post/Redirect/Get

    일시적인 리다이렉션 예시
    post로 주문 후 웹 브라우저를 새로 고침하면(요청이 한번 더 들어감)?
    -> 중복 주문이 들어갈 수 있음 .
    사용성이 좋아짐. 많이 사용함. 서버에서도 일이 줄어들어 좋음
      

  • 4xx (Client Error) : 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음
    - 400
    클라이언트 오류
    클라이언트의 요청이 잘못된 문법 등으로 서버가 요청을 수행 불가
    똑같이 재시도 해도 오류
    복구 불가능
    요청 파라미터가 잘못되었거나, api 스펙이 맞지 않을 때 발생한다.
    • 401 Unauthorized
      인증이 되지 않음
      www-authenticate 헤더와 함께 인증 방법을 설명해야함
      인가 권한처럼 특정 리소스에 접근할 수 있는 권한
    • 403 fornidden
      서버가 요청을 이해했지만, 승인 거부
      로그인은 했는데, 접근 권한이 없음
    • 404 not fount
      요청 리소스가 없음
  • 5xx (Server Error) : 서버 오류, 서버가 정상 요청을 처리하지 못함, 복구 가능 5
    - 500 서버 내부 에러
    • 503 서비스 불가
      서버 다운을 할 때, 일시적으로 예정된 작업으로 잠시 요청을 처리 할 수 있음.

최대한 5-- 에러는 만들지 않도록 해야함
모르는 코드가 나와도 앞에 수를 보고 이해를 하면 된다.

profile
짜장면 쟁이

0개의 댓글