본문 바로가기
스프링 부트/자바 웹을 다루는 기술

1.3 웹 기반 프로그램 동작 방식

by 989898 2024. 1. 16.

그럼 이번에는 웹 기반 프로그램의 구조를 살펴보자. 웹 기반 프로그램의 경우 클라이언트는 자신이 사용하는 클라이언트 프로그램을 직접 설치하는 것이 아니라 사용자 컴퓨터의 웹 브라우저를 통해 화면에 해당되는 HTML 문서를 서버에 요청한다. 그러면 서버에서는 요청 받은 HTML 문서를 브라우저에 전송하여 해당 기능을 담당하는 화면을 보여준다.

1.2절에서 살펴본 환율 계산기 프로그램을 웹 기반으로 구현하면 어떻게 될까?? 그림 1-8에 그 동작 과정을 나타내었다.

먼저 처리할 데이터를 입력 받아 서버에 처리를 요청하면(1), 서버는 화면에서 입력한 데이터를 전송 받아 처리한다(2). 그런 다음 계산 결과를 웹 브라우저로 전송하여 결과를 보여준다.(3)

 

즉, 웹 기반 프로그램의 경우 사용자가 사용하는 프로그램의 기능이나 화면이 바뀌면 서버에서 모두 처리한다. 클라이언트-서버 기반 프로그램과 마찬가지로 클라이언트가 특별히 수행해야 할 작업이 없다. 그리고 모든 기능을 서버에서 처리하므로 보안 면에서도 월등히 우수하다.

 

코드 1-5는 웹 서버 기반으로 환율 계산기를 구현한 소스의 일부이다.

웹 브라우저에서 HTTP 서버 주소로 요청하면 HTML 태그로 이루어진 환율 계산기 화면을 웹 브라우저에 전송하여 화면에 나타낸다. 그리고 사용자가 화면에 데이터를 입력한 후 결과를 요청하면 다시 데이터를 받아서 해당 국가의 환율을 이용해 외화를 계산하고 그 결과를 다시 웹 브라우저에 전송한다.

그럼 웹 기반으로 환율 계산기를 실행하여 앞에서 설명한 대로 작동하는지 살펴보자. 다음과 같이 브라우저 주소창에 http://localhost:8090/rateServer/calc를 입력하여 환율 계산기 화면을 요청한다.

환율 계산기의 첫 번째 텍스트 필드에 원화 345600를 입력하고 환산할 외화명으로 달러를 선택한 다음 변환을 클릭한다.

그러면 클라이언트 프로그램이 서버로 입력 값을 전송한 후 처리한 결과를 화면에 나타낸다.

이처럼 웹 기반 환율 계산기 프로그램은 클라이언트 측 웹 브라우저가 요청을 하면 웹 서버에서 계산 기능을 구현하여 결과를 돌려주는 방식이다.

 

지금까지 프로그램의 발전 과정을 예제와 함께 간단히 살펴보았다. 웹 기반 프로그램은 관리하기 용이할 뿐만 아니라 보안 면에서도 탁월하여 널리 사용되고 있다. 여기서 한 발 더 나아가 JSP나 ASP, PHP 같은 웹 기술을 더하고 데이터베이스 연동 기능을 추가한다면 실시간으로 클라이언트의 요청을 처리할 수도 있다. 자세한 내용은 다음 장에서 살펴보자.