화면을 구성하고 만드는 작업을 프론트엔드 보이지 않는 서버에서 작업을 하는 게 백엔드라고 많이들 알고 있습니다. 그렇지 않나요? 이 두 개념을 조금 더 이해할 수 있게 설명해보려고 합니다.
프론트엔드
프론트엔드가 하는 일은 어디까지 인걸까요? 화면만 만드는게 프론트엔드 영역일까요?
흔히 클라이언트라고 부르는 부분을 프론트엔드가 작업한다라고 하는데요. 사실 클라이언트는 크게 두 가지 의미를 갖고 있습니다.
첫 번째, 클라이언트는 사이트를 이용하는 사용자를 말합니다. 이때 사용자가 바로 서버에 데이터를 요청하는 것이 아니라 프론트엔드에 요청을 하게 되는 것입니다.
두 번째, 또 하나로는 클라이언트 자체가 프론트엔드인 겁니다.
백엔드
보이지 않는 서버에서 작업을 하는 백엔드, 백엔드는 요청을 받으면 데이터 처리를 해주고 그 데이터를 다시 웹서버로 전송을 하는 작업을 합니다. 대부분 정적인 페이지 보다 동적인 페이지에 관여를 하는데요.
동적페이지에 대응할 때 웹서버-웹애플리케이션-데이터베이스에 접근을 하는데 이때 API를 만들어서 효율적으로 접근을 할 수 있게 만드는 게 백엔드입니다.
웹 서버의 역할은 무엇인가?
웹 서버는 화면의 내용이나 데이터가 변동이 없는 정적인 페이지에 대응을 합니다. 그렇다면 화면의 내용이나 데이터가 변경되는 동적 페이지는 누가 대응을 할까요? 바로 웹 서버가 웹애플리케이션 서버에게 대응해 달라고 요청을 하게 됩니다.
즉, 웹 서버는 정적인 페이지에 대응하고 동적인 페이지라면 웹 서버가 웹 애플리케이션 서버로 요청하고 요청한 데이터를 응답받아 동적인 페이지 대응을 할 수 있게 하는 곳입니다.
정적페이지와 동적페이지
아니 정적페이지와 동적페이지는 무슨 차이가 있는 걸까요?
쉽게 말해 정적페이지는 누가 들어와도 같은 데이터를 보여주는 페이지를 말합니다.
동적페이지는 웹서버-웹어플리케이션서버-데이터베이스 순서로 접근해 원하는 데이터 처리 및 연산을 받아 데이터의 값이 바뀌는 페이지를 말합니다.
'개발지식' 카테고리의 다른 글
code refactoring (0) | 2023.12.12 |
---|---|
라이브러리와 프레임워크 (0) | 2023.12.05 |
CS[Computer Science]가 무엇일까? (0) | 2023.12.05 |
REST API와 RESTful API (0) | 2023.12.05 |
API(Application Programming Interface) (0) | 2023.12.04 |