티스토리 뷰
우리가 웹 사이트를 만들 때 해당 사이트를 시연하더라도 오류가 뜰 때가 정말정말 많다.
그렇다면 해당 오류코드를 보여주는 숫자를 우린 알고있어야하기에 해당 코드를 대략적으로 정리했다.
1xx (informational) : 요청이 수신되어 처리중 / 거의 사용 x
2xx (successful) : 요청 정상 처리
3xx(Redirection) : 요청을 완료하면 추가 행동이 필요 /
4xx(client Error): 클라이언트오류, 잘못된 문법으로 서버가 요청을 수행할 수 없음
5xx(sever Error) : 서버오류, 서버가 정상 요청을 처리하지 못함
2xx - 성공
200 = OK
201 = created , 요청 성공해서 새로운 리소스가 생성됨
202 = Accepted , 요청이 접수되었으나 처리가 완료되지 않음 / 잘 사용 x ㅋㅋ
204 = No Content, 서버가 요청을 성공적으로 수행했지만 응답 페이로드 본문에 보낼 데이터가 없음(save 누르고 화면 유지해야할 때 )
3xx - 리다이렉션
요청을 완료하기 위해 유저 에이전트에 추가 조치 필요
잠깐 리다이렉트란? 300응답 결과에 location 헤더가 있으면 location 위치로 자동 이동
300 - 별로 안써
301,308 - 리소스의 URI가 영구적으로 이동
301 = 리다이렉트시 요청 메서드가 GET으로 변하고, 본문이 제거될 수 있음( 보통 이렇게 사용한다 )
308 = 301과 기능은 같지만 리데이렉트시 요청 메서드와 본문은 유지한다
302,307,303 실무에서 제일 많이쓴다.
302 Found = 리다이렉트시 요청 메서드가 GET으로 변하고 본문이 제거될 수 있다.
307 Temporary Redirect = 302와 기능은 같지만 리다이렉트시 요청 메서드와 본문을 유지한다* 요청 메서든 변경x
303 See Other = 302와 기능은 같지만 리다이렉트시 요청 메서드가 GET으로 변경
PRG POST/ Redirect/ GET일시적인 리다이렉션 POST로 주문후에 웹 브라우저를 새로고침하면? 새로 고침은 다시 요청으로 재주문이 될 수도 있다. 그렇기에 POST로 주문 후 주문 결과화면을 GET으로 리다이렉트 하여 재주문을 예방한다.
304 not modified = 캐시를 목적으로 사용한다. 클라이언트에게 리소스가 수정되지 않았음을 알려주며 따라서 로컬pc에 저장된 캐시를 재사용한다( 캐시로 리다이렉트!), 메시지 바디에 응답을 포함하면 안된다. (로컬 캐시를사용하기 위해)
4xx - 클라이언트 오류
오류의 원인이 클라이언트에게 있다. 이미 클라이언트가 잘못된 요청이기에 재시도가 실패한다. (요청 파라미터 틀리거나 API 스펙이 맞지 않을떄 )
401 = 인증이 되지 않음.
403 = 서버가 요청을 이해했지만 승인을 거부함 / 어드민 등급이 아닌 사용자가 접근했을 떄 해당 오류를 낸다.
404 = 요청 리소스를 찾을 수 없음, 또는 클라이언트가 권한이 부족한 리소스에 접근할 때 해당 리소스를 숨기고 싶을 떄 사용한다.
5xx - 서버 오류
서버 문제로 오류가 발생한다. 서버에 문제가 있기 때문에 재시도하면 성공할 수도 있다.( 복구가 되거나..등등) 애매하면 500 오류503 = 서비스 이용불가, 일시적인 과부화 또는 예정된 작업으로 잠시 요청을 할 수 없음
참고강의) https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard
'Network' 카테고리의 다른 글
네트워크 첫걸음 (0) | 2022.07.18 |
---|---|
쿠키란? (0) | 2022.07.07 |
클라이언트에서 서버로 데이터 전송 (0) | 2022.07.07 |
HTTP 메서드 (0) | 2022.07.07 |
HTTP API고민 (0) | 2022.07.07 |