웹 애플리케이션(web application) 또는 웹 앱 소프트웨어 공학적 관점에서 인터넷이나 인트라넷을 통해 웹 브라우저에서 이용할 수 있는 응용 소프트웨어를 말한다. (위키백과)

사용자의 브라우저에서 웹이 작동하는 원리는 기본적으로 클라이언트 - 서버 구조로 이루어지는데, 그 원리는 다음과 같다.

  1. 사용자가 웹 브라우저(클라이언트)를 통해 웹 서버에 요청(Request)을 보낸다
  2. 웹 서버는 받은 요청을 기반으로 웹 애플리케이션 서버, 데이터베이스 서버를 통해 처리를 진행한다.
  3. 처리가 완료된 후, 웹 브라우저에게 응답(Response)을 보낸다.
  4. 받은 응답을 기반으로 웹 브라우저는 해당 내용을 해석하여 사용자에게 보여준다.

 

실무에서는 프론트엔드(FE), 백엔드(BE)로 업무를 분담하고 있다.

프론트엔드

프론트엔드란 Front라는 말의 뜻에 맞게, 사용자가 직접 보고, 확인할 수 있는 부분을 의미한다. 클라이언트-서버 구조에서는 클라이언트 부분을 의미하며, 일반적으로 웹 브라우저를 통해 사용자에게 보여지는 부분이다. 부가적으로, 웹 브라우저를 통해 요청을 보내는 것과, 응답을 받아서 해독하는 부분까지 프론트엔드로 본다. 대표적으로 HTML, CSS, JS등을 이용한다. 최근에는 웹 브라우저가 아닌 모바일 어플리케이션 부분도 프론트엔드로 보는데, 모바일 애플리케이션 개발 토대로, 리액트라는 프론트엔드 라이브러리가 많이 사용되고 있다.

백엔드

백엔드란 프론트엔드 개념의 반대되는 의미로, 사용자의 눈에 보이지 않는 부분을 의미한다. 프론트엔드에서 보내준 요청을 처리하여 다시 응답을 제공하는 부분으로, 클라이언트-서버 구조에서는 서버를 의미하며, 해당 부분에는 다양한 서버가 맞물려서 구성될 수 있다. 웹 서버, 웹 애플리케이션 서버, 데이터베이스가 있으며, 최근 웹 서버용 프레임워크로 Java 기반의 Spring, Python 기반의 Django, Javascript 기반의 node.js와 nest.js 등이 사용되고 있다. 데이터베이스는 Oracle, Mysql, Mariadb, Mongodb 등이 있다.

 

반응형

+ Recent posts