HTTP 상태코드

Wonjun Hwang
Wonjun HwangCEO @Kit Works Inc. à Kit Works inc.
HTTP 상태 코드
“아직 배포 중입니다. 5분 뒤에 다시 확인해주세
요!”
이성수
HTTP 상태 코드란?
HTTP 상태 코드 종류
• 1xx - 정보 응답
• 2xx - 성공 응답
• 3xx - 리다이렉션 메시지
• 4xx - 클라이언트 에러 응답
• 5xx - 서버 에러 응답
요청을 계속 받았으며 프로세스를 계속 진
행한다
1xx - 정보 응답
100 - Continue
101 - Switching Protocol
102 - Processing
103 - Early Hints
* 거의 사용되지 않는다.
클라이언트 요청이 성공적으로 수
행됨
2xx - 성공 응답
200 - OK
- 요청 성공!
- 주로 GET 요청에 대한 응답
201 - Created
- 요청이 성공적으로 처리 되어, 서버가 새로운 리소스
를 생성
- 주로 POST/PUT 요청에 대한 응답
204 - No Content
- 서버에 대한 요청이 성공적으로 처리되었지만, 제공
해줄 응답 데이터 없음
- PUT으로 수정 요청을 받았는데 수정사항이 없을 때
- DELETE 요청에 대한 응답
요청이 완수되기 위해서는 추가적인 행동이
필요함
3xx - 리다이렉션 메시
지
301 - Moved Permanently
- 요청한 리소스의 URI가 변경되었음을 의미
- ex) google.com 요청 -> www.google.com
- 알아서 캐싱됨
304 - Not Modified
- 캐시를 목적으로 사용됨
- 계속해서 응답의 캐시된 버전을 사용할 수 있음
- 200 -> (새로고침) -> 304
클라이언트의 잘못된 요청으로 서버가 이해
를 못함
4xx - 클라이언트 에러 응
답
400 - Bad Request
- 잘못된 문법으로 서버가 이해할 수 없음
- API에 정의되지 않은 방식으로 요청을 했을 때
- 로그인시 id만 보내고 pw는 보내지 않을 때
401 - Unauthorized(미승인)
- 인증이 되지 않아 수행할 수 없음
- 의미상 unauthenticated가 맞음(비인증)
- ex) 누구세요..?
403 - Forbidden
- 승인이 되지 않아 수행할 수 없음
- 의미상 Unauthorized가 맞음
- ex) 너는 안 돼.
클라이언트의 잘못된 요청으로 서버가 이해
를 못함
4xx - 클라이언트 에러 응
답
404 - Not Found
- 서버는 요청받은 리소스를 찾을 수 없습니다
- 무조건 리소스가 서버에 존재하지 않는다는 것은 아
님
- 403 대신 404를 전송할 수도 있음.(보안)
405 - Method Not Allowed
- 요청이 허용되지 않은 메소드
- 요청 URL에 대해 지원하지 않은 메서드로 요청받았
을 때
- ex) 삭제 금지 api에 delete를 요청할 때
418 - I’m a teapot
- 서버는 커피를 찻 주전자에 끓이는 것을 거절합니다
- …??
서버측의 오류.
5xx - 서버 에러 응답
500 - Internal Server Error
- 서버는 아직 처리 방법을 알 수 없습니다
- 서버 사용량 폭주, 백엔드 스크립트의 오류 등등
- 애매한 서버 문제들에 500으로 퉁..
503 - Service Unavailable
- 서버가 요청을 처리할 준비가 되지 않았습니다.
- 지금은 안 되지만 나중에는 가능함을 의미하고자 할
때
- 서버 사용량 폭주, 서버 패치 및 업데이트 등등
HTTP 상태 코드와 개발자
• 요청 확인 - 요청이 올바르게 수신되고 처리 되었는지 확인 가능, 어떤 문제가
있는지 신속하게 확인 가능
• 오류 처리 - 특정 상태 코드를 이해함으로써 개발자는 오류 처리 접근 방식을 조
금 더 수월하게 선택해서 해결할 수 있음
• 리다이렉션 - 3xx대 같은 코드들을 처리할 때 개발자는 올바르게 해석하여 유저
가 헤매지 않도록 사용자 경험을 보장해야 함
• 성능 최적화 - 클라이언트 측 캐싱을 활용하여 성능을 최적화 할 수 있음
• 커뮤니케이션 - 개발을 할 때 서로를 이해하는데 도움이 될 수 있음
참고 자료
• MDN - https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
• 블로그 -
https://inpa.tistory.com/category/%EA%B0%9C%EB%B0%9C%20%EC%A7%
80%EC%8B%9D/HTTP%20%EC%A7%80%EC%8B%9D
(모든 상태코드들의 설명과 흐름 예시가 있음)
끝
1 sur 12

Recommandé

상속과 구현 par
상속과 구현상속과 구현
상속과 구현Wonjun Hwang
8 vues77 diapositives
오버라이딩 조금 더 알아보기 par
오버라이딩 조금 더 알아보기오버라이딩 조금 더 알아보기
오버라이딩 조금 더 알아보기Wonjun Hwang
8 vues22 diapositives
컴포넌트 설계 par
컴포넌트 설계컴포넌트 설계
컴포넌트 설계Wonjun Hwang
18 vues21 diapositives
성능 테스트 par
성능 테스트성능 테스트
성능 테스트Wonjun Hwang
15 vues13 diapositives
WebRTC par
WebRTCWebRTC
WebRTCWonjun Hwang
24 vues18 diapositives
Flutter & Firebase par
Flutter & FirebaseFlutter & Firebase
Flutter & FirebaseWonjun Hwang
20 vues16 diapositives

Contenu connexe

Plus de Wonjun Hwang

이미지 최적화 par
이미지 최적화이미지 최적화
이미지 최적화Wonjun Hwang
25 vues39 diapositives
프론트엔드 비동기 프로그래밍 par
프론트엔드 비동기 프로그래밍프론트엔드 비동기 프로그래밍
프론트엔드 비동기 프로그래밍Wonjun Hwang
29 vues15 diapositives
트렌디 앱 - ARC & OBSIDIAN par
트렌디 앱 - ARC & OBSIDIAN트렌디 앱 - ARC & OBSIDIAN
트렌디 앱 - ARC & OBSIDIANWonjun Hwang
32 vues21 diapositives
Floating Point par
Floating PointFloating Point
Floating PointWonjun Hwang
29 vues38 diapositives
차이나는 개발자 클라스 par
차이나는 개발자 클라스차이나는 개발자 클라스
차이나는 개발자 클라스Wonjun Hwang
6 vues25 diapositives
차이나는 개발자 클라스 par
차이나는 개발자 클라스차이나는 개발자 클라스
차이나는 개발자 클라스Wonjun Hwang
38 vues25 diapositives

Plus de Wonjun Hwang(20)

프론트엔드 비동기 프로그래밍 par Wonjun Hwang
프론트엔드 비동기 프로그래밍프론트엔드 비동기 프로그래밍
프론트엔드 비동기 프로그래밍
Wonjun Hwang29 vues
트렌디 앱 - ARC & OBSIDIAN par Wonjun Hwang
트렌디 앱 - ARC & OBSIDIAN트렌디 앱 - ARC & OBSIDIAN
트렌디 앱 - ARC & OBSIDIAN
Wonjun Hwang32 vues
차이나는 개발자 클라스 par Wonjun Hwang
차이나는 개발자 클라스차이나는 개발자 클라스
차이나는 개발자 클라스
Wonjun Hwang6 vues
차이나는 개발자 클라스 par Wonjun Hwang
차이나는 개발자 클라스차이나는 개발자 클라스
차이나는 개발자 클라스
Wonjun Hwang38 vues
잘못된 상속은 객체지향을 해친다 par Wonjun Hwang
잘못된 상속은 객체지향을 해친다잘못된 상속은 객체지향을 해친다
잘못된 상속은 객체지향을 해친다
Wonjun Hwang49 vues
2023 Baseline된 새로운 Web 기능 par Wonjun Hwang
2023 Baseline된 새로운 Web 기능2023 Baseline된 새로운 Web 기능
2023 Baseline된 새로운 Web 기능
Wonjun Hwang33 vues

HTTP 상태코드

  • 1. HTTP 상태 코드 “아직 배포 중입니다. 5분 뒤에 다시 확인해주세 요!” 이성수
  • 3. HTTP 상태 코드 종류 • 1xx - 정보 응답 • 2xx - 성공 응답 • 3xx - 리다이렉션 메시지 • 4xx - 클라이언트 에러 응답 • 5xx - 서버 에러 응답
  • 4. 요청을 계속 받았으며 프로세스를 계속 진 행한다 1xx - 정보 응답 100 - Continue 101 - Switching Protocol 102 - Processing 103 - Early Hints * 거의 사용되지 않는다.
  • 5. 클라이언트 요청이 성공적으로 수 행됨 2xx - 성공 응답 200 - OK - 요청 성공! - 주로 GET 요청에 대한 응답 201 - Created - 요청이 성공적으로 처리 되어, 서버가 새로운 리소스 를 생성 - 주로 POST/PUT 요청에 대한 응답 204 - No Content - 서버에 대한 요청이 성공적으로 처리되었지만, 제공 해줄 응답 데이터 없음 - PUT으로 수정 요청을 받았는데 수정사항이 없을 때 - DELETE 요청에 대한 응답
  • 6. 요청이 완수되기 위해서는 추가적인 행동이 필요함 3xx - 리다이렉션 메시 지 301 - Moved Permanently - 요청한 리소스의 URI가 변경되었음을 의미 - ex) google.com 요청 -> www.google.com - 알아서 캐싱됨 304 - Not Modified - 캐시를 목적으로 사용됨 - 계속해서 응답의 캐시된 버전을 사용할 수 있음 - 200 -> (새로고침) -> 304
  • 7. 클라이언트의 잘못된 요청으로 서버가 이해 를 못함 4xx - 클라이언트 에러 응 답 400 - Bad Request - 잘못된 문법으로 서버가 이해할 수 없음 - API에 정의되지 않은 방식으로 요청을 했을 때 - 로그인시 id만 보내고 pw는 보내지 않을 때 401 - Unauthorized(미승인) - 인증이 되지 않아 수행할 수 없음 - 의미상 unauthenticated가 맞음(비인증) - ex) 누구세요..? 403 - Forbidden - 승인이 되지 않아 수행할 수 없음 - 의미상 Unauthorized가 맞음 - ex) 너는 안 돼.
  • 8. 클라이언트의 잘못된 요청으로 서버가 이해 를 못함 4xx - 클라이언트 에러 응 답 404 - Not Found - 서버는 요청받은 리소스를 찾을 수 없습니다 - 무조건 리소스가 서버에 존재하지 않는다는 것은 아 님 - 403 대신 404를 전송할 수도 있음.(보안) 405 - Method Not Allowed - 요청이 허용되지 않은 메소드 - 요청 URL에 대해 지원하지 않은 메서드로 요청받았 을 때 - ex) 삭제 금지 api에 delete를 요청할 때 418 - I’m a teapot - 서버는 커피를 찻 주전자에 끓이는 것을 거절합니다 - …??
  • 9. 서버측의 오류. 5xx - 서버 에러 응답 500 - Internal Server Error - 서버는 아직 처리 방법을 알 수 없습니다 - 서버 사용량 폭주, 백엔드 스크립트의 오류 등등 - 애매한 서버 문제들에 500으로 퉁.. 503 - Service Unavailable - 서버가 요청을 처리할 준비가 되지 않았습니다. - 지금은 안 되지만 나중에는 가능함을 의미하고자 할 때 - 서버 사용량 폭주, 서버 패치 및 업데이트 등등
  • 10. HTTP 상태 코드와 개발자 • 요청 확인 - 요청이 올바르게 수신되고 처리 되었는지 확인 가능, 어떤 문제가 있는지 신속하게 확인 가능 • 오류 처리 - 특정 상태 코드를 이해함으로써 개발자는 오류 처리 접근 방식을 조 금 더 수월하게 선택해서 해결할 수 있음 • 리다이렉션 - 3xx대 같은 코드들을 처리할 때 개발자는 올바르게 해석하여 유저 가 헤매지 않도록 사용자 경험을 보장해야 함 • 성능 최적화 - 클라이언트 측 캐싱을 활용하여 성능을 최적화 할 수 있음 • 커뮤니케이션 - 개발을 할 때 서로를 이해하는데 도움이 될 수 있음
  • 11. 참고 자료 • MDN - https://developer.mozilla.org/en-US/docs/Web/HTTP/Status • 블로그 - https://inpa.tistory.com/category/%EA%B0%9C%EB%B0%9C%20%EC%A7% 80%EC%8B%9D/HTTP%20%EC%A7%80%EC%8B%9D (모든 상태코드들의 설명과 흐름 예시가 있음)
  • 12.