3장은 특별한 내용 없다.
Request와 Respose 메시지에 대해서는 :https://prde.tistory.com/81
1. 상태 코드
1) 2XX (성공)
- 204 : 리퀘스트를 성공했지만 돌려줄 리소스 없을 경우 : 클라이언트에서 서버로 정보를 보내는 것으로 족하고, 클라이언트에 새로운 정보를 보낼 필요가 없는 경우 사용
- 206 : 이 리스폰스는 Content-Range로 지정된 범위의 엔티티가 포함된다.
2) 3XX (Redirect)
- 3XX 리스폰스는 리퀘스트가 정상적으로 처리를 종료하기 위해 브라우저 측에서 특별한 처리를 수행해야 함을 나타낸다.
3) 4XX (클라이언트 에러) : 클라이언트의 원인으로 에러가 발생
- 400 Bad Request : 리퀘스트 구문이 잘못되었음을 나타냄. 리퀘스트 내용을 재검토하고 나서 재송신할 필요가 있다. 브라우저는 이것을 200OK와 같이 취급한다.
- 401 Unauthorized : 리퀘스트에 HTTP 인증(BASIC 인증, DIGEST인증) 정보가 필요하다는 것을 나타낸다. 또한, 이미 1번 리퀘스트가 이루어진 경우에는 2번째에 유저 인증이 실패했음을 표시한다.
- 403 Forbidden : 리퀘스트된 리소스의 액세스가 거부되었음을 나타낸다. 이유는 엔티티 바디에 기재되어 있다. 발생 원인으로는 파일 시스템에 퍼미션이 부여되지 않은 경우 혹은 액세스 권한에 문제가 있는 등의 경우가 있다.
- 404 Not Found : 리퀘스트한 리소스가 서버상에 없다는 것을 나타낸다. 그외에 서버 측에서 해당 리퀘스트를 거부하고 싶은 이유를 분명히 하고 싶지 않은 경우에도 이용할 수 있다.
4) 5XX 서버 에러
- 500 Internal Server Error : 서버에서 리퀘스트를 처리하는 도중에 에러가 발생하였음을 나타낸다.
- 503 Service Unavaliable : 서버가 일시적으로 과부하 상태이거나 점검 중이기 때문에 현재 리퀘스트를 처리할 수 없음을 나타낸다. 이 상태가 해소되기까지 시간이 걸리는 경우 Retry-After 헤더 필드에 따라 클라이언트에 전달하는 것이 바람직하다.
※ 상태코드가 현재 상황과 불일치할 수도 있다.
: 리스폰스로 되돌아오는 상태코드의 대부분은 유저가 다른 내용을 알기 어렵게 되어있다. 흔히 웹 애플리케이션에서 에러가 발생한 경우에도 상태 코드는 200OK로 되돌아오는 경우가 있다.
'개발관련 도서 > Http&Network Basic' 카테고리의 다른 글
6장 HTTP 헤더 (0) | 2021.07.14 |
---|---|
제 5장. HTTP와 연계하는 웹 서버 (0) | 2021.07.13 |
2장. 간단한 프로토콜 HTTP(HTTP1.1) (0) | 2021.07.10 |
1장. 웹과 네트워크의 기본에 대해 알아보자 (0) | 2021.07.10 |
그림으로 배우는 Http&Network Basic 목차 (0) | 2021.07.10 |