카테고리 없음

TIL 0408(nestJs 정의, 웹 앱 아키텍처&HTTP프로토콜/ RestFul API)

하초 2023. 4. 8. 19:09

1.NestJs란 

2. 웹 앱 아키텍처 & HTTP 프로토콜

3. RestFull API 


 

NestJs란 

NestJs 타입스크립트를 지원하는 서버 어플리케이션 프레임워크이다. 

고도화된 아키텍처를 제공해서, 확장가능하고 유지보수가 쉬운 서버 애플리케이션을 만들 수 있게 도와준다. 

 

웹 앱 아키텍쳐 

웹의 기본 구조 

  • 웹 브라우저 : html/css 명세에 따라 html 파일 해석 및 표시 
  • 웹 서버 : 브라우저로부터 http요청을 받아들여, html 같은 웹페이지를 반환(정적인 정보)
  • 웹 어플리케이션 서버 : 동적인 정보 처리하여 정적으로 제공(사용자 장치에 어플리케이션을 수행해주는 미들웨어) 
  • 데이터베이스 서버 

기본적인 동작 방식 

URL 입력 -> 서버 컴퓨터의 html파일들이 다운받아져서 화면에 그려짐 -> 버턴을 누르면 프론트에서 백엔드에 API를 호출함 -> 백엔드에서 DB의 정보를 가공해서 프론트에 전달 -> 가공된 데이터를 처리 후 화면에 뿌려줌. 

 

HTTP(하이퍼텍스트 전송) 프로토콜 

인터넷상에서 데이터를 주고 받기 위한 규칙, 웹 브라우저와 웹 서버간의 통신을 위해 설계 되었다.

클라이언트-서버 모델을 기반으로 하고, TCP/IP 위에서 동작한다. 

상태를 저장하지 않는 프로토콜로, 네트워크 부하를 적고, 확장성이 높다. 

아래와 같은 형태를 갖추고 있다.

GET /HTTP/1.1 // GET/POST/PUT/DELETE
HOST: developer.mozilla.org
accept-Language: fr

 

 

 

REST란

웹 서비스를 위한 아키텍처 중 하나로, 클라이언트와 서버 간의 통신을 위한 규칙을 제공한다. 

REST 아키텍쳐를 따르는 API를 RESTful API라고 하며, 이를 구현하는 웹서비스를 RESTful 웹 서비스라고 한다. 

동작 

클라이언트가 서버에 요청 전송 -> 서버가 클라이언트의 권한 확인 -> 요청 수신 및 내부적 처리 -> 클라이언트에 응답 반환(요청성공 여부, 요청한 정보)