웹 용어 정리
웹 서비스(Web Service)
웹 기반의 인터페이스를 통해 다른 컴퓨터나 디바이스들이 통신하거나 상호 작용할 수 있도록 만들어진 서비스.
일반적으로 API형태로 제공되며, XML이나 JSON형식으로 데이터를 주고 받는다.
ex) 날찌 정보 제공 웹 서비스 (특정 위치의 현재 날씨나 예보 정보를 제공하는 API),
Google Maps API (웹 사이트나 어플리케이션에 지도 기능을 추가하기 위한 서비스),
결제 시스템 API (온라인 결제를 처리하는 웹 서비스)
웹 시스템(Web System)
웹 기반의 응용 프로그램이나 시스템 전체를 의미한다.
사용자와의 상호작용을 중심으로 구축된 웹 사이트나 웹 어플리케이션을 포함할 수 있으며,
백엔드 시스템과 데이터베이스도 포함될 수 있다.ex) 온라인 쇼핑몰, SNS 플랫폼, 온라인 뱅킹 시스템
웹 서비스는 다른 시스템이나 응용 프로그램과 상호 작용하는 데 사용되는 웹 기반 인터페이스.웹 시스템은 웹 환경에서 실행되는 포괄적인 응용 프로그램이나 플랫폼을 의미.
웹 브라우저(Web Browser)
사용자의 디바이스에서 웹 페이지나 웹 어플리케이션을 보여주기 위한 소프트웨어.
ex) Chrome, Safari, Edge 등
웹 서버에 웹 페이지나 데이터를 요청하고,
웹 서버로부터 받은 응답을 사용자에게 보여준다.
웹 사이트(Web Site)
인터넷에 연결된 컴퓨터에서 호스트되는 관련된 웹 페이지들의 집합.
예로 "www.test.com"이라는 주소로 접속 할 수 있는 모든 페이지의 집합을 가리킨다.
ex) Wikipedia, Google, Facebook 등
웹 서버에서 호스트되며, 웹 브라우저를 통해 사용자에게 보여진다.
웹 브라우저는 웹 페이지를 조회하고 표시하기 위한 어플리케이션 소프트웨어, 웹 사이트의 내용을 사용자에게 제공하는 도구.
웹 사이트는 특정 주제나 목적에 맞게 연관된 웹 페이지들의 집합, 정보나 서비스를 제공하기 위해 만들어진 온라인 공간.
cf) 웹 사이트는 주로 정보를 제공하거나 홍보를 목적으로 하는 웹 페이지의 집합
웹 시스템은 더 큰 규모와 복잡성을 가진 웹 기반 응용 프로그램을 의미.
(웹 사이트는 웹 시스템의 하나의 부분이 될 수 있다.)
웹 서버(Web Server)
HTTP 프로토콜을 사용하여 웹 브라우저의 요청을 받아
정적인 컨텐츠(HTML, CSS, 이미지 등)를 제공하는 서버이다.
웹 브라우저의 요청받은 파일을 찾아 반환하는 역할을 주로 한다.
동적인 처리나 복잡한 비즈니스 로직은 다루지 않는다.
필요한 경우 웹 어플리케이션 서버와도 통신한다.
ex) Apache HTTP Server, Nginx 등
웹 어플리케이션 서버(Web Application Server, WAS)
웹 서버로부터 요청을 받아 동적인 컨텐츠를 생성하기 위해 어플리케이션을 실행하는 서버이다.데이터베이스 조회나 비즈니스 로직 처리와 같은 동적인 처리를 포함한다.데이터베이스 연결, 비즈니스 로직의 처리, 동적 웹 페이지 생성 등의 작업을 수행한다.이를 통해 사용자의 요청에 따라 실시간으로 변경되는 웹 페이지나 데이터를 반환할 수 있다.
예시로 사용자가 로그인을 요청할 경우, 웹 어플리케이션 서버는 데이터베이스와 통신하여 인증 정보를 확인하고 웹 서버를 통해 그 결과를 웹 브라우저에 반환한다.
ex) Apache Tomcat, WebSphere, WebLogic 등
웹 서버는 주로 정적인 컨텐츠의 제공에 중점을 둔다.
웹 어플리케이션 서버는 동적인 컨텐츠의 생성 및 비즈니스 로직의 처리에 중점을 둔다.
(실제 환경에서는 웹 서버와 웹 어플리케이션 서버가 함께 동작하기도 한다.
웹 서버가 정적인 컨텐츠 요청을 처리하고,
동적인 요청은 웹 어플리케이션 서버로 전달하여 효율적으로 웹 서비스를 제공하게 된다.)
※ 정적 컨텐츠는 파일 그 자체로 존재. 그 파일의 내용이 변경되지 않는 한 항상 같은 정보를 전달.
동적 컨텐츠는 사용자의 상황이나 요청에 따라 그 내용이 바뀌기 때문에,
매번 다른 정보를 전달할 수 있다.
데이터베이스 서버(Database Server)
데이터를 저장, 검색, 업데이트 및 관리하는 데 사용되는 서버 소프트웨어
또는 해당 소프트웨어가 실행되는 하드웨어이다.
웹 어플리케이션 서버는 필요한 데이터를 얻거나 저장하기 위해 데이터베이스 서버와 통신한다.
웹 브라우저가 웹 서버에 페이지 요청을 하고,
웹 서버는 정적 콘텐츠를 바로 반환하거나
웹 어플리케이션 서버에 동적 콘텐츠 생성을 요청한다.
웹 어플리케이션 서버는 필요한 경우
데이터베이스 서버와 통신하며,
최종 결과는 웹 브라우저에 반환된다.