반응형

클라우드 환경에서 HTTP API를 통해 통신하는 것이 대부분이다.

이때, 응답 상태 코드를 통해 성공/실패 여부를 확인할 수 있으므로 API 문서를 작성할 때 꼭 알아야 할 것이 HTTP status code이다.

 

  • 10x : 정보 확인
  • 20x : 통신 성공
  • 30x : 리다이렉트
  • 40x : 클라이언트 오류
  • 50x : 서버 오류

 

200번대 : 통신 성공

상태 코드 이름 의미
200 OK 요청 성공(GET)
201 Create 생성 성공(POST)
202 Accepted 요청 접수O,
리소스 처리 X
204 No Contents 요청 성공 O,
내용 없음

 

 

300번대 : 리다이렉트

상태코드 이름 의미
300 Multiple Choice 요청 URI에 여러 리소스가 존재
301 Move Permanently 요청 URI가 새 위치로 옮겨감
304 Not Modified 요청 URI의 내용이 변경 X

 

 

400번대 : 클라이언트 오류

상태코드 이름 의미
400 Bad Request API에서 정의되지 않은 요청 들어옴
401 Unauthorized 인증 오류
403 Forbidden 권한 밖의 접근 시도
404 Not Found 요청 URI에 대한 리소스 존재 X
405 Method Not Allowed API에서 정의되지 않은 메소드 호출
406 Not Accepted 처리 불가
408 Request Timeout 요청 대기 시간 초과
409 Conflict 모순
429 Too Many Request 요청 횟수 상한 초과

 

 

500번대 : 서버 오류

상태코드 이름 의미
500 Internal Server Error 서버 내부 오류
502 Bad Gateway 게이트웨이 오류
503 Service Unavailable 서비스 이용 불가
504 Gateway Timeout 게이트웨이 시간 초과

 

 

***참고

https://gyoogle.dev/blog/web-knowledge/HTTP%20status%20code.html

반응형

'Web Application' 카테고리의 다른 글

REST API  (0) 2023.12.29
HTTP Request Methods  (0) 2023.12.23
쿠키(cookie)와 세션(session)의 차이  (1) 2023.12.22
브라우저 동작 방법  (0) 2023.12.20
[Node.js] Node.js와 Javascript의 개념  (0) 2023.09.13
반응형

 

전공 수업에서 노드와 자바스크립트를 이용해 Express와 연동하여 웹 프로그램을 만든 적이 있다.

그땐 자바스크립트랑 노드의 개념을 잘 모르고 무작정 따라하기만 했다.

 

깃허브를 정리하던 중 수업 때 만든 프로그램을 보고, 갑자기 Node.js가 언어인지, Javascript가 언어인지 헷갈리기 시작했다.

 

자바스크립트를 프론트엔드 언어, 노드를 백엔드 언어라고 믿고 있었는데..결론은 아니다! 

 

 

💡 Node.js란?

 

Node.js는 Chrome V8 Javascript 엔진으로 빌드 된 JavaScript 런타임이다.

 

한마디로, Node.js를 통해 다양한 자바스크립트 애플리케이션을 실행할 수 있고, 특히 서버를 실행하는 데 가장 많이 사용된다!

  • Node.js는 JavaScript를 서버에서도 사용할 수 있도록 만든 프로그램이다.
  • Node.js는 V8이라는 JavaScript 엔진 위에서 동작하는 자바스크립트 런타임(환경)이다.
  • Node.js는 서버사이트 스크립트 언어가 아니다. 프로그램(환경)이다.
  • Node.js는 웹서버와 같이 확장성 있는 네트워크 프로그램을 제작하기 위해 만들어졌다.

단순히 정적인 홈페이지, 웹에서 실행가능한 게임을 만들려면 javascript만으로도 가능하다.

하지만 웹 브라우저가 아닌 환경에서는 javascript는 동작하지 않는다.

따라서 웹 외에 독립적인 공간에서도 javascript만으로 프로그램이 실행되도록 하기 위해 Node.js라는 환경이 개발된 것이다!!

 

Node.js를 통해 정적인 홈페이지 뿐만 아니라 데이터가 변해가는 사이트(쇼핑몰, 티켓예매사이트, 블로그 등)를 만들 수 있으며, 여러 개발자가 만든 프로그램과 게임을 웹상에서 구동시켜 안드로이드 폰, 아이폰, 윈도우 pC 등 플랫폼의 제약에서도 벗어날 수 있게되었다.

 

물론 단순히 웹에서 실행 가능한 게임을 만들려면 JavaScript 만으로도 가능하지만 좀 더 진화 된 프로그램으로 실시간 온라인 채팅, 실시간 온라인 게임 등 실시간 기능을 넣거나, 로그인 기능을 넣어 유저를 관리하고 점수를 관리하는 데이터베이스 기능을 Node.js를 통해 만들 수가 있다.

 

💡 Node.js를 사용하는 이유

  • Node.js를 사용하려면 먼저 JavaScript를 배워야한다.
  • Node.js는 JavaScript를 사용하기 위해  만들어진 것이기 때문이다.
  • JavaScript는 C/C++, Java 와 같은 프로그래밍 언어이다.
  • 하지만 이름에서 알 수 있듯 JavaScript는 독립적인 언어가 아닌 스크립트 언어이다.
  • 스크립트 언어는 특정한 프로그램 안에서 동작하는 프로그램이기 때문에 웹 브라우저 프로그램 안에서만 동작을 한다.
  • 즉, 웹 브라우저(크롬, 사파리, 익스플로러, 파이어폭스 등)가 없으면 사용할 수 없는 프로그램이다.
  • 여기서 Node.js가 나오는 이유가 된다.
  • 즉, JavaScript 를 웹 브라우저에서 독립시킨 것으로 Node.js를 설치하게 되면 터미널프로그램(윈도우의 cmd, 맥의 terminal 등)에서 Node.js를 입력하여 브라우저 없이 바로 실행할 수 있다.
  • 하지만 JavaScript에서 분리된 언어이기 때문에 문법은 같다.
  • 이렇게 Node.js를 이용하여 웹 브라우저와 무관한 프로그램을 만들 수 있게 되었다.
  • 중요한 것은 Node.js를 이용하여 서버를 만들 수 있다는 것이다.
  • 중요한 이유는 이전까지 Server-Client 웹사이트를 만들 때 웹에서 표시되는 부분은 JavaScript 를 사용하여 만들어야만 했으며, 서버는 Reby, Java 등 다른 언어를 써서 만들었어야 했는데 마침내 한 가지 언어로 전체 웹 페이지를 만들 수 있게 된 것이다.

 

✅ 자바스크립트 런타임

  • 런타임이란 특정 언어로 만든 프로그램을 실행할 수 있는 환경이다.
  • 따라서 노드는 자바스크립트 프로그램을 컴퓨터에서 실행할 수 있게 하는 자바스크립트 실행기!!

 

⭐ 결론

Node.js는 Javascript 만으로도 웹 브라우저에서 독립된 환경에서 프로그램을 실행가능하게 해주는 환경(프로그램)이다.

즉, Node.js=환경, Javascript=언어

Javascript를 사용하기 때문에 JSON형식과 쉽게 호환된다.

Node.js의 프레임워크가 Express이다.

 

 

 

한 블로그 글을 통해 두 개념을 이해하는데 많은 도움이 되었다.

 

https://hanamon.kr/nodejs-%ea%b0%9c%eb%85%90-%ec%9d%b4%ed%95%b4%ed%95%98%ea%b8%b0/#respond

 

Node.js 노드 개념 이해하기 자바스크립트 JavaScript 런타임 이벤트

Node.js 노드 개념 이해하기 JavaScript 런타임 - 노드는 다양한 자바스크립트 애플리케이션을 실행할 수 있으며, 서버를 실행하는데 제일 많이 사용된다. 이벤트 기반 이벤트 루프 논블로킹 I/O 싱글

hanamon.kr

 

반응형

'Web Application' 카테고리의 다른 글

REST API  (0) 2023.12.29
HTTP status code (HTTP 상태 코드)  (0) 2023.12.28
HTTP Request Methods  (0) 2023.12.23
쿠키(cookie)와 세션(session)의 차이  (1) 2023.12.22
브라우저 동작 방법  (0) 2023.12.20

+ Recent posts