모든 글은 다음 블로그를 참고하여 작성하였습니다.
https://gyoogle.dev/blog/
Web Server와 WAS의 차이
Static Pages
바뀌지 않는 페이지
웹 서버는 파일 경로 이름을 받고, 경로와 일치하는 file contents를 반환함 항상 동일한 페이지를 반환함
1 |
|
Dynamic Pages
인자에 따라 바뀌는 페이지
인자의 내용에 맞게 동적인 contents를 반환함 웹 서버에 의해 실행되는 프로그램을 통해 만들어진 결과물임 (Servlet : was 위에서 돌아가는 자바 프로그램) 개발자는 Servlet에 doGet() 메소드를 구현함
웹 서버와 WAS의 차이
웹 서버
- 개념에 있어서 하드웨어와 소프트웨어로 구분된다.
- 하드웨어 : Web 서버가 설치되어 있는 컴퓨터
- 소프트웨어 : 웹 브라우저 클라이언트로부터 HTTP 요청을 받고, 정적인 컨텐츠 (html, css 등)를 제공하는 컴퓨터 프로그램
웹 서버 기능
Http 프로토콜을 기반으로, 클라이언트의 요청을 서비스하는 기능을 담당
요청에 맞게 두가지 기능 중 선택해서 제공해야 한다.
- 정적 컨텐츠 제공
WAS를 거치지 않고 바로 자원 제공
- 동적 컨텐츠 제공을 위한 요청 전달
클라이언트 요청을 WAS에 보내고, WAS에서 처리한 결과를 클라이언트에게 전달
웹 서버 종류 : Apache, Nginx, IIS 등
WAS
Web Application Server의 약자
DB 조회 및 다양한 로직 처리 요구시 동적인 컨텐츠를 제공하기 위해 만들어진 애플리케이션 서버
HTTP를 통해 애플리케이션을 수행해주는 미들웨어다. WAS는 웹 컨테이너 혹은 서블릿 컨테이너라고도 불림 (컨테이너란 JSP, Servlet을 실행시킬 수 있는 소프트웨어. 즉, WAS는 JSP, Servlet 구동 환경을 제공해줌)
역할
1 |
|
웹 서버의 기능들을 구조적으로 분리하여 처리하는 역할
보안, 스레드 처리, 분산 트랜잭션 등 분산 환경에서 사용됨 (주로 DB 서버와 함께 사용)
WAS 주요 기능
- 프로그램 실행 환경 및 DB 접속 기능 제공
- 여러 트랜잭션 관리 기능
- 업무 처리하는 비즈니스 로직 수행
WAS 종류 : Tomcat, JBoss 등
그럼, 둘을 구분하는 이유는?
웹 서버가 필요한 이유
- 웹 서버에서는 정적 컨텐츠만 처리하도록 기능 분배를 해서 서버 부담을 줄이는 것
1 |
|
WAS가 필요한 이유
WAS를 통해 요청에 맞는 데이터를 DB에서 가져와 비즈니스 로직에 맞게 그때마다 결과를 만들고 제공하면서 자원을 효율적으로 사용할 수 있음
1 |
|
그러면 WAS로 웹 서버 역할까지 다 처리할 수 있는거 아닌가요?
1 |
|
UI와 UX
UI
1 |
|
사용자가 앱을 사용할때 마주하는 디자인, 레이아웃, 기술적인 부분이다.
디자인의 구성 요소인 폰트, 색깔, 줄간격 등 상세한 요소가 포함되고, 기술적 부분은 반응형이나 애니메이션효과 등이 포함된다.
따라서 UI는 사용자가 사용할 때 큰 불편함이 없어야하며, 만족도를 높여야 한다.
UX
1 |
|
앱을 주로 사용하는 사용자들의 경험을 분석하여 더 편하고 효율적인 방향으로 프로세스가 진행될 수 있도록 만드는 것이다.
(터치 화면, 사용자의 선택 flow 등)
UX는 통계자료, 데이터를 기반으로 앱을 사용하는 유저들의 특성을 분석하여 상황과 시점에 맞도록 변화시킬 수 있어야 한다.
- UI를 포장에 비유한다면, UX는 그 안의 내용물이라고 볼 수 있다.