일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- API
- js ajax
- 자바스크립트기본
- node.js프로젝트
- 자바스크립트학습
- 리액트
- 네트워크
- vue.js학습
- 프로토콜
- 프론트엔드 공부
- nodejs
- 프론트엔드공부
- 프론트엔드
- 개발자학습
- node.js학습
- Vue.js
- react
- 개발공부
- 프론트엔드학습
- node.js 학습
- JavaScript
- 정보처리산업기사
- 자바스크립트 학습
- MongoDB
- node.js
- js학습
- 자바스크립트
- JS
- 개발자지식
- 개발자공부
- Today
- Total
dada's
웹 어플리케이션 아키텍쳐(Web Application Architecture) 기본 개념 본문
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
'기본지식' 카테고리의 다른 글
git 머지(Merge)와 리베이스(Rebase)의 차이와 풀 리퀘스트를 리베이스방식으로 하는 방법 (0) | 2024.02.15 |
---|---|
클라이언트 사이드 렌더링(CSR)과 서버 사이드 렌더링(SSR) + React (0) | 2023.09.27 |
MVC패턴 (2) | 2023.05.16 |
HTTP란 무엇인가 (0) | 2022.09.14 |
[개발자 기본지식] 쿠키, 세션, 토큰, 캐시, CDN 무슨뜻인가 (0) | 2022.07.06 |