Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 객체정렬
- 명령어
- toCharArray()
- 스타일리쉬들여쓰기
- 타도
- 백양로브레이크
- 알고리즘
- 프로그래머스
- SWEA
- startswith
- django
- 완주하지못한선수
- 타겟넘버
- 시작
- K번째수
- 프로젝트
- 그래프adt
- SSAFY
- 2579
- 백준
- 11562
- 7699
- 10580번
- 자바
- git
- 전화번호목록
- 특정인덱스바꾸기
- 단어변환
- Java
- 진수 int형으로
Archives
- Today
- Total
합리적 낙관주의자
01. Web Application 본문
#1. Web Application 이란?
로컬에서 독립적으로 수행되는 것이 아니라 웹 브라우저 상에서 HTTP 프로토콜 및 HTML 문서를 근간으로 수행되는 어플리케이션이다. 웹 어플리케이션은 웹 브라우저 상에서 수행되기 때문에 독립 어플리케이션에 비해 *사용자 인터페이서의 한계가 있지만, *웹 2.0 이후 독립 어플리케이션과의 표현력 차는 많이 좁혀졌다.
- 한계 극복
- RIA (Rich Internet Application)
- Ajax(Asynchronous JavaScript and XML)
- 웹 세대
- 웹 1.0 : 단순한 웹사이트의 집합
- 웹 2.0 : 개방, 참여, 공유의 정신을 바탕으로 사용자가 직접 정보를 생산하여 쌍방향으로 소통하는 웹
- 웹 3.0 : 네트워크를 통한 여러 가치 공유 * 탈중앙화
#2. Web Application의 구조 (Web Application Architecture)
1. 2-tier (Client <--> Server)
클라이언트가 서버에 직접 접속해 자원을 활용하는 방식, 개발이 편리하나 웹 어플리케이션의 보안에 취약하고 유지보수가 힘들다.
2. 3-tier (Client <--> Server <--> Database)
데이터베이스를 분리하고 오직 서버을 거쳐서만 접속 가능하도록 구성했다.
- 각 Tier 설명과 구성요소
- Client Tier : 사용자가 실제로 접하는 프로그램,
- 웹 브라우저 : 사용자의 작업창, 모든 사용자의 요청을 받으며 웹 서버로 전달한다.
- Server Tier : Client와 Database를 연결해주는 소프트웨어 또는 하드웨어
- 웹 서버 : HTTP 프로토콜을 기반으로 클라이언트가 요청한 작업의 결과를 응답하는 곳이다. 주로 정적인 HTML, 이미지, CSS, JavaScript를 클라이언트에게 제공할 때, 요청된 페이지 로직의 수행 및 데이터베이스와의 연동을 위한 요청 WAS에게 요청한다. (Ex. Apache, IIS)
- 웹 어플리케이션 서버 (WAS) : 클라이언트가 요청한 작업에 필요한 프로그래밍 로직의 처리, 데이터베이스와의 연동을 처리하는 곳이다. 클라이언트의 요청에 응답하기 위해 처리 결과를 웹 서버로 보낸다. 크게 웹 서버 기느오가 컨테이너 기능으로 구성된다. (Ex. Apache Tomcat, WebLogic, WebSphere, Jeus)
- Presentation
- Business Logic
- Data Access
- Data Tier : 하단 부의 저장매체
- Database : 데이터의 저장소에서 웹으로 발생한 데이터가 저장되는 곳이다. (사용자의 입장에서 가장 안쪽에 있기 때문에 데이터베이스 서버를 Back-End-Server라고 부른다.)
- Client Tier : 사용자가 실제로 접하는 프로그램,
- 요청과 응답 과정
- 웹 브라우저가 웹 서버에게 특정 페이지를 요청한다.
- 웹 서버는 웹 브라우저의 요청을 받아 로직 및 데이터베이스와의 연동을 위해 WAS에 이들의 처리를 요청한다.
- WAS는 데이터베이스와의 연동이 필요하면 데이터베이스와의 데이터 처리를 수행한다.
- 로직 및 데이터베이스 작업 처리 결과를 웹 서버에 리턴한다.
- 웹 서버는 결과를 다시 웹 브라우저에게 응답한다.
'이상이 아닌 현실 💼 > Web 💻' 카테고리의 다른 글
Django REST API 서버 구축 (0) | 2020.09.14 |
---|---|
이미지 hover시 글자 나타나게 하는 법 (0) | 2020.08.21 |
Forward, Send/Redirect (0) | 2020.04.24 |
02. Servlet Programming (0) | 2020.04.20 |
01-1. Web Application 관련 기술 (0) | 2020.04.15 |