[http] Http 응답(Response)의 종류
- http는 클라이언트와 서버가 통신을 계속해서 연결해두지 않는다.
- 클라이언트는 필요한 것을 서버로 요청하고 서버는 해당 요청에 대해서 응답을 하는 방식이다.
- 연결을 지속적으로 하는 것보다 효율적으로 자원을 관리할 수 있다.
기본적인 http의 응답 코드
- backEnd, frontEnd를 가리지 않고 기본적인 요청과 응답 2가지의 종류는 알고 있어야 한다.
- 응답은 클라이언트가 보낸 요청을 서버에서 처리 해주는 것을 말한다.
- 단순하게 말해서 요청이 없으면 응답도 없다.
- 여기서는 응답에 대해서 정리해보려고 한다.
1xx: (정보) - 요청을 받았으며 프로세스를 계속 진행합니다.
- 서버가 요청을 받아서 해당 요청을 처리하고 있다는 응답이다.
- 이 응답을 받는다면 서버가 요청을 잘 처리하고 있다고 생각하면 된다.
2xx: (성공) - 요청을 성공적으로 받았으며 인식했고 수용하였습니다.
- 일반적으로 어떤 요청을 보냈을 때 2xx를 받으면 성공이기 때문에 이 응답을 받고 필요한 처리를 수행하는 코드를 짤때가 많다.
3xx: (리다이렉션) - 요청 완료를 위해 추가 작업 조치가 필요합니다.
- 보통 301과 302를 많이 받게 되고 둘다 리다이렉션인데 둘의 차이는 301은 영구적으로 새로운 주소로 옮겼다는 뜻이고
- 302는 일시적으로 옮겼다는 뜻이다.
- 실제로 도메인 연결을 시키다가 301과 302를 선택하라고 했을 때 뭘 선택해야할지 몰랐는데 임시적인 변경이 아니므로 301을 선택하면 된다.
4xx: (클라이언트 오류) - 요청의 문법이 잘못되었거나 요청을 처리할 수 없습니다.
- 아마 웹개발자도, 사용자도 제일 많이 보게 되는 번호가 404일것이다.
- 404는 요청한 웹페이지가 서버에서 존재하지 않을 때의 응답이다.
- 가령 “https://www.naver.com/abcdefg” 처럼 서버에 존재하지 않는 주소로 요청을 보냈을 때 서버에서 보내주는 응답니다.
- 간단하게 말해서 클라이언트가 잘못 된 요청을 한것이다.
5xx: (서버 오류) - 서버가 명백히 유효한 요청에 대한 충족을 실패했습니다.
- 서버가 응답을 할 수 없다는 의미이며 요청이 올바른지는 알 수가 없다.
- 클라이언트의 요청을 처리할 수 없다는 의미이다.
- 서버가 내려갔거나, 서버가 켜지지 않았거나 등등 서버 자체를 사용할 수 없을 때 받는 응답이다.
자세한 응답 코드
응답 코드 |
설명 |
100 |
Continue (클라이언트로 부터 일부 요청을 받았으며 나머지 정보를 계속 요청함) |
101 |
Switching protocols |
200 |
OK(요청이 성공적으로 수행되었음) |
201 |
Created (PUT 메소드에 의해 원격지 서버에 파일 생성됨) |
202 |
Accepted(웹 서버가 명령 수신함) |
203 |
Non-authoritative information (서버가 클라이언트 요구 중 일부만 전송) |
204 |
No content, (사용자 요구 처리하였으나 전송할 데이터가 없음) |
301 |
Moved permanently (요구한 데이터를 변경된 타 URL에 요청함) |
302 |
Not temporarily |
304 |
Not modified (컴퓨터 로컬의 캐시 정보를 이용함, 대개 gif 등은 웹 서버에 요청하지 않음) |
400 |
Bad request (사용자의 잘못된 요청을 처리할 수 없음) |
401 |
Unauthorized (인증이 필요한 페이지를 요청한 경우) |
402 |
Payment required(예약됨) |
403 |
Forbidden (접근 금지, 디렉터리 리스팅 요청 및 관리자 페이지 접근 등을 차단) |
404 |
Not found, (요청한 페이지 없음) |
405 |
Method not allowed (혀용되지 않는 http method 사용함) |
407 |
Proxy authentication required (프락시 인증 요구됨) |
408 |
Request timeout (요청 시간 초과) |
410 |
Gone (영구적으로 사용 금지) |
412 |
Precondition failed (전체 조건 실패) |
414 |
Request-URI too long (요청 URL 길이가 긴 경우임) |
500 |
Internal server error (내부 서버 오류) |
501 |
Not implemented (웹 서버가 처리할 수 없음) |
503 |
Service unnailable (서비스 제공 불가) |
504 |
Gateway timeout (게이트웨이 시간 초과) |
505 |
HTTP version not supported (해당 http 버전 지원되지 않음) |
Leave a comment