Backend/서버프로그래밍
[WEB] 웹 기반 프로그래밍의 발전과정
사랑짱
2021. 6. 17. 17:53
현재 대부분은 웹 프로그램을 기반으로 이루어져있다.
그렇다면 웹 기반 프로그래밍이 생겨나기까지 어떠한 과정이 있었으며
각 과정에 따른 문제점과 그 문제를 어떻게 보완해 나갔는지 알아보자.
step1. 사용자 PC 기반 프로그램
- 프로그램을 이용할 때 사용자가 컴퓨터를 직접 이용하여 소프트웨어가 동작
우리가 예전에 게임CD를 돈 주고 구매하여 게임했던 경험을 떠올려보자.
그 CD에 담긴 프로그램이 클라이언트 PC 기반 프로그램의 예가 된다.
게임 프로그램은 클라이언트 PC에서 실행하면서 모든 기능을 수행한다.
하지만 업데이트에 한계가 있다는 단점이 있다.
<문제점>
1. 프로그램이 변경될 때마다 다시 설치(변화에 대한 실시간 반영이 어려움)
2. 데이터베이스 접속 정보가 쉽게 노출될 수 있어 보안에 취약
step2. CS (클라이언트/ 서버) 기반 프로그램
- CS 기반 프로그램은 네트워크/인터넷을 이용하여 서버와 통신을 주고 받으며
서버에 있는 자원이 클라이언트 프로그램의 모든 기능을 수시로 업데이트한다.
(1) 클라이언트 프로그램(like 본사) : 데이터를 요청하는 프로그램
(2) 서버 프로그램(like 생산지, 지점) : 데이터가 만들어지고 관리/제공되는 프로그램
클라이언트 PC 기반 프로그램에 비해 기능적인 업데이트가 보완되었으나
사용자에 관련된 화면 기능이 바뀌면 클라이언트 프로그램도 수정하여
다시 설치해야 하는 단점이 여전히 존재한다.
<문제점>
1. 클라이언트/서버 프로그램 간 동기화로 인한 문제
-> 사용자에 관련된 화면 기능은 서버에서 처리할 수 없는 한계가 존재
-> 이에 따라 설치-재설치를 반복해야하므로 다른 프로그램에 대한 영향 & 재배포에 대한 부담이 존재
2. 데이터 전송 구현에 대한 문제
-> 클라이언트 프로그램의 데이터 요청에 따라 소켓, RPC 등을 이용해
직접 포멧팅, 전달, 유효성 검사 등을 진행하였으나, 여전히 업무적인 불편함이 발생
step3. 웹 기반 프로그램
- 웹기반 프로그램은 화면과 데이터 처리 모두 서버에서 수행하며
데이터가 아닌 문서를 전달하는 웹을 사용한다.
(1) 웹 클라이언트 : 브라우저를 통해 요청을 입력
(2) 웹 서버 : 요청에 대한 응답을 page 형태로 제공
기술과 컴퓨터 성능의 발전으로 서버의 성능도 비약적으로 발전하게 되었다.
이에 따라 이제 웹 기반 프로그램은 화면과 데이터 처리 모두가 서버에서 처리 가능하다.
<웹 기반 프로그램의 특징>
1. 화면과 로직(기능)을 서버에서 처리하므로 클라이언트가 특별히 수행할 작업이 없다.
2. 모든 기능이 서버에서 처리되므로 보안 면에서 우수하다.
위와 같은 과정을 통하여 지금의 웹 기반 프로그램이 자리잡게 되었다.
다음에는 웹 기반 프로그래밍에 대해 더 자세히 알아봐야겠다.