카테고리 없음
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 웹 서비스라고 한다.
동작
클라이언트가 서버에 요청 전송 -> 서버가 클라이언트의 권한 확인 -> 요청 수신 및 내부적 처리 -> 클라이언트에 응답 반환(요청성공 여부, 요청한 정보)