웹 페이지 동작 개념 정리(Web - WAS - DB)
우리가 사용하는 웹 페이지는
Web Server - Web Application Sever - DataBase 의 협력에 의해 동작하고 있다.
웹 페이지 동작에 대해 이해하려면
먼저 정적 리소스(정적 페이지)와 동적 리소스(동적 페이지)를 이해해야 한다.
정적 리소스 : 매번 요청할 때마다 같은 응답을 받는다.
동적 리소스 : 매번 요청할 때마다 다른 응답을 받는다.
예시로 홈페이지 메인에 들어갔을 때 나오는
홈페이지의 이름과 사진은
누가 언제 들어가도 똑같은 이름과 사진이기 때문에
정적 리소스(정적 페이지)라고 볼 수 있다.
하지만 로그인 후 나오는
사용자의 이름과 프로필 사진은
사용자마다 바뀌기 때문에
동적 리소스(동적 페이지)라고 볼 수 있다.
1. Web (Web Server)
Web 서버에 경우
클라이언트가 요청한 정적 리소스를 웹 서버에 존재하는지 체크하고 전달해주는 역할을 한다.
웹 서버는 정적 리소스(정적 페이지)만 처리할 수 있기 때문에
동적 리소스(PHP 코드)는 WAS 서버로 처리를 요청한다.
정적 리소스 : 서버에 저장돼 있는 html, jpg 등의 파일
Web 서버의 종류 : Apache, Nginx, IIS
Web (프론트엔드) 언어 : HTML, CSS, JavaScript
2. WAS (Web Application Server)
WAS 서버의 경우
웹 서버에게 전달받은 동적 리소스(PHP 코드)와 DB에 저장돼 있는 데이터를 통해
동적 페이지를 만드는 역할을 수행한다.
여기서 만들어진 동적 페이지는 다시 웹 서버로 전달되고
웹 서버가 최종적으로 클라이언트에게 페이지를 전달하는 구조이다.
WAS 서버의 종류 : Tomcat, JBoss
WAS (백엔드) 언어 : PHP, JSP, ASP, Node.js
3. DB (DataBase)
DB의 경우
회원 정보, 게시글 정보 등의 데이터를 저장하는 역할을 한다.
WAS 에서 DB의 데이터가 필요한 회원가입이나 로그인을 처리하는 동적 페이지를 만들 때,
(DB에 저장된 데이터를 이용해야하는 작업을 할 때)
SQL 언어를 사용해여 DB의 데이터를 가져오거나 추가·수정·삭제할 수 있다.
DB 종류 : MySQL, Oracle, MariaDB
DB 언어 : SQL