웹 분야에 직무에 종사하기위해서는 다양한 요소로 구성되어있는
웹 어플리케이션 시스템에 대한 이해가 꼭 필요하다고 생각하다고 생각 합니다.
이번 포스팅에서는 기본 개념부터 웹 어플리케이션 시스템의 구성까지 알아보겠습니다.
1. 기본개념
1.1 Internet (인터넷) : Inter(international)
+ net (network)
TCP/IP라는 통신 프로토콜을 이용해서 세계의 모든 컴퓨터와 정보를 주고 받는 network(통신망)입니다.
(참고 : 통신 프로토콜이란 서로 소통을 하기위해서 정한 '약속' 입니다^^)
1.2 WEB (웹) : World Wide Web (WWW)의 준말
internet에 연결된 컴퓨터들을 통해 정보공유를 할 수 있는 공간 또는 서비스를 말하며
크게 클라이언트와 서버로 구분되어있습니다.
(WEB과 유사한 서비스로는 'e-mail' 이 있습니다.)
1.3 Client (클라이언트) : 고객, 손님 (=갑)
서비스를 요청하여 제공받는 쪽 입니다.
* 'Client side(클라이언트 측)' 또는 'front-end (앞 단)' 이라고도 부릅니다.
1.4 Server (서버) : 서비스를 제공하는 사람 (=을)
클라이언트가 요청한 정보를 제공해주는 쪽 입니다.
* 'Server side(서버 측)' 또는 'back-end (끝 단)' 이라고도 부릅니다.
2. 웹 어플리케이션 시스템 구성의 종류
2.1 정적 정보의 처리
- 단순 HTML파일, 이미지 자원등의 정적인 자원을 제공하기 위한 구성
2.1.1 Web Browser
- 정의 : Web server에 정보를 요청하고 응답을 반환받는 프로그램
- 종류 : 크롬(구글), 인터넷 익스플로어, 파이어폭스, 사파리(apple) ..
- 언어 : HTML, CSS, Javascript 등등
2.1.2 Web Server
- 정의 : web browser가 요청한 정보가 정적인지 동적인지 판별하는 프로그램
(또는 프로그램과 하드웨어의 총칭)
* 'HTTP web server' 라고도 부릅니다.
1) 정적일 경우 HTML파일을 반환
2) 동적일 경우 WAS에게 요청을 전달 후
WAS가 생성해준 HTML파일을 반환
- 종류 : Apache, IIS (MS), nginx 등등
2.2 동적/정적 정보의 처리
- 동적/정적 정보를 처리하기 위한 구성
2.2.1 WAS (Web Application Server)
- 정의 :
1) 클라이언트의 요청에 따라 정적 또는 동적으로 정보를 처리하여
Web Server 또는 Web Browser에 정적인 정보를 제공하는 프로그램
2) 일반적으로 web server기능을 내장하고 있어서 web browser과
단독으로 서비스가 가능하나 트래픽 관리의 효율성을 높이기 위해
일반적으로 별도의 web server을 함께 사용
3) DB의 데이터가 필요 할 경우 DBMS와 상호작용
- 종류 : Tomcat, tMax, jeus, web Logic(BEA), web spere (IBM) 등
* Servlet contatiner
- 정의 : MVC 패턴을 사용하여 동적인 정보를 처리하는 프로그램
- 언어 : JSP(Java+HTML), PHP, Python 등..
Servlet 관련 포스팅 : http://solt.tistory.com/11?category=798543
2.2.2 DBMS (DataBase Management System)
- 정의 : 다수의 DB(데이터 베이스)를 효율적으로 관리 할 수 있는 프로그램
- 종류 : MySQL(Oracle), Oracle(Oracle), MsSQL (MS), 몽고DB...
- 언어 : 각 제조사의 SQL
최대한 정확한 정보를 공유하고자 항상 신중하게 포스팅을 하고 있지만,
내용에 개선이 필요한 부분이 있을 수 도 있습니다.
혹시나 추가적인 보완이 필요하다고 판단되는 부분이 있다면 댓글로 조언해주세요.
참고하여 수정해놓겠습니다.
* 해당 포스팅이 도움이되셨다면 공감과 댓글 부탁드릴께요 ㅎㅎ
'Computer Science > WEB' 카테고리의 다른 글
[보안] PKI 개념과 구조 (0) | 2020.09.29 |
---|---|
VPN과 SDP의 이해 (0) | 2020.06.06 |
[보안] 암호화 기초 개념과 알고리즘 (0) | 2019.11.23 |
컴퓨터 언어의 종류 (computer language) (0) | 2018.10.30 |
Servlet과 JSP의 개념 (servlet container 구성) (0) | 2018.09.17 |