1. 프로그램 발전과정 (웹의 등장배경)
2. 어플리케이션 VS 웹 어플리케이션
어플리케이션 : 한대의 컴퓨터에 설치하여 사용자가 원하는 작업을 할 수 있도록 만들어진 응용 소프트웨어(application software) 또는 응용 프로그램
웹 어플리케이션 : 웹 브라우저를 이용하는 사용자에게 동적인 서비스를 제공하는 서버 프로그램으로 웹 서비스 어플리케이션으로 표현하면 좋을 것 같다.
구글시트, 한컴오피스 웹 서비스, 웹메일, 온라인쇼핑몰등
3. 정적 웹 프로그램 VS 동적 웹 프로그램
정적 웹 프로그램
- 사용자에게 고정된 정보만 제공(웹서버에 HTML 페이지, CSS, 이미지, JS파일을 저장해 놓고 단순 전달)
- 정보 수정 시 HTML 소스를 수정하여 사용자에게 제공
- 웹 사이트
동적 웹 프로그램
- 실시간 변경 사항을 반영하여 웹 서비스
1. CGI프로그램(프로세스방식)
- 초기 웹 프로그램에서 사용하던 방식
- 펄(Perl)이 대표적인 CGI 프로그래밍 언어
- 프로세스방식으로 실행: 같은 기능이어도 처음부터 메모리에 기능을 새로 로드하여 수행 -> 서버부하가 심함
※ CGI란 공통 게이트웨이 인터페이스(Common Gateway Interface)의 약어로, 웹서버와 외부 프로그램 사이에서
정보를 주고받는 방법이나 규약들을 말한다.
기본적으로 사용자가 만든 애플리케이션은 다양할 것이고, 웹서버도 다양한 제품이 있을 것이다.
이러한 다양함 속에서 웹서버와 CGI 프로그램 간에 통신을 하기위한 표준이 필요했을 것이다.
2. CGI 프로그램 (스레드방식)
- CGI프로그램(프로세스 방식)의 문제점을 개선하여 나온 동적 웹 프로그래밍 기술
- 스레드(thread) 방식으로 실행
- 클라이언트의 요구를 처리하는 기능은 최초 한 번만 메모리에 로드
- 클라이언트가 동일한 기능을 요구하면 기존에 사용한 기능을 재 사용
Apache는 CGI라는 개념을 지원한다.
PHP, Perl, Python등의 언어는 Apache를 통해 CGI를 적용시키는 것이 가능한데, JAVA는 안된다.
따라서 Java는 따로 CGI 와 같은 기능(자바CGI프로그램 = 서블릿)을 위해 컨테이너 라는 것이 필요하다.
올해 웹 개발 4년차로 웹에 대한 기초 지식을 다지고, 한 층 더 성장하기 위해 공부한 내용을 정리하고 많은 개발자들과 공유하고자 올립니다.
블로그에 올리는 내용은 아래 도서를 기본서로 공부하고 정리해서 올리도록 하겠습니다.
참고 자료
https://better-together.tistory.com/230
웹 애플리케이션(Web Application)이란?
IT 스타트업의 서비스 형태 ② 웹 애플리케이션 초기 웹 서비스(웹 사이트와 웹 서버) 지난번 포스팅 'IT 스타트업의 서비스 형태 ① 웹 사이트'와 'IT 스타트업의 서비스 형태 ① - 1 웹 사이트를
better-together.tistory.com
https://doozi316.github.io/web/2020/09/13/WEB26/
WAS와 Server의 차이? 그리고 Web Container 란?
doozi316.github.io