dada's

웹 어플리케이션 아키텍쳐(Web Application Architecture) 기본 개념 본문

기본지식

웹 어플리케이션 아키텍쳐(Web Application Architecture) 기본 개념

dykang 2022. 8. 9. 20:26
728x90

 

Web Application Architecture🏗

: 아키텍쳐(Architecture)란 구조, 계획, 기준, 규칙 또는 설계 결과물을 뜻한다

 

💡웹서비스 동작 방식

[WEB Browser] ⇄ [WEB Server] ⇄ [WAS] ⇄ [DB Server]

 

 

1. WEB Browser(웹 브라우저)

➤ 역할

- Request 요청 / Response 응답

- HTML 과 CSS 명세에 따라 HTML 파일을 해석 및 표시 (명세 : W3C)

 

➤ 종류

- Mozilla Firefox

- Microsoft Edge

- Google Chrome

- Opera

 

➤ 구성요소

  • 사용자 인터페이스 : 주소표시줄, 이전/다음 버튼, 북마크 메뉴 등 요청한 페이지를 보여주는 부분을 제외한 나머지 부분이다
  • 브라우저 엔진 : 사용자 인터페이스와 렌더링 엔진 사이의 동작을 제어한다
  • 렌더링 엔진 : 요청한 콘텐츠를 표시한다 (HTML을 요청하면 HTML과 CSS를 파싱하며 화면에 표시)
  • 통신 : HTTP요청과 같은 네트워크 호출에 사용된다 이것은 플랫폼 독립적인 인터페이스이고 각 플랫폼의 하부에서 실행된다
  • UI백엔드 : 콤보 박스와 창같은 기본적인 장치를 그린다 플랫폼에서 명시하지 않은 일반적인 인터페이스로서, OS사용자 인터페이스 체계를 사용한다
  • 자바스크립트 해석기 : 자바스크립트 코드를 해석하고 실행한다
  • 자료 저장소 : 자료를 저장하는 계층이다 쿠키를 저장하는 것과 같이 모든 종류의 자원을 하드디스크에 저장할 필요가 있다 HTML5 명세에는 브라우저가 지원하는 '웹 데이터 베이스'가 정의 되어 있다

 

2. WEB Server(웹 서버)

: 웹 브라우저 클라이언트로부터 HTTP 요청을 받아들이고, HTML문서와 같은 웹 페이지를 반환하는 역할을 한다

 

➤ 역할

- 정적인 파일(HTML문서, images, CSS, Javascript 문서 등)을 반환하는 서버

- SSL(암호화 처리)

- 접근 허용 IP관리

- 2대 이상의 서버에서 세션 관리 등

 

➤ 종류

- Apache (아파치) : 리눅스기반의 무료 오픈소스 웹서버 프로그램

- IIS (아이아이에스) : 마이크로소프트사의 윈도우 시스템에서 사용하는 웹서버 프로그램

- NginX(엔진엑스) : 러시아의 아고르 시셰프가 개발한 무료 오픈소스 웹서버 프로그램 

 

3. WAS(Web Application Server)

: 인터넷 상에서 HTTP 프로토콜을 통해 사용자 컴퓨터나 장치에 어플리케이션을 수행해주는 미들웨어로써 주로 동적 서버 컨텐츠를 수행하는 것으로 일반적인 웹 서버와 구별이되며, 대부분 데이터베이스 서버와 함께 수행된다

 

➤ 역할

- 웹서버에서 처리할 수 없는 동적인 정보를 처리하여 웹서버에 정적인 정보를 제공

- 일반적으로 웹서버의 기능을 내제하고 있어 웹 서버 없이도 서비스 가능

 

➤ 종류

- Apach Tomcat(아파치 톰캣) : 아파치 재단에서 기본으로 web server 기능을 포함한 솔루션. 무료로 사용가능

- WildFly : JBoss.org에서 제공하는 오픈소스 WAS

- JBoss-EAP : RedHat에서 제공하는 WAS로 WildFly의 사용버전

- Oracle Weblogic : 오라클에서 제공하는 상용 WAS 톰캣과 유사한 구조이다

- JEUS : 국내 기업인 티맥스에서 제공하는 사용 WAS

 

728x90
Comments