웹 아키텍처
From CS Wiki
발전[edit | edit source]
정보 제공 웹 (웹 1.0)[edit | edit source]
- 아키텍처: 초기 웹은 주로 정적인 내용을 전달하는 데 중점을 두어 HTML 페이지를 사용했다.
- 프로토콜: 하이퍼텍스트 전송 프로토콜(HTTP)이 웹 페이지 전송을 위해 주로 사용되었다.
- 개선 사항:
- 정적 HTML 페이지는 하이퍼링크를 통해 연결되어 사용자가 페이지 간 탐색할 수 있게 했다.
- 웹 서버(예: 아파치)의 도입은 중앙 집중식 콘텐츠 호스팅을 가능하게 하여 접근성을 향상시켰다.
상호작용 웹 (웹 2.0)[edit | edit source]
- 아키텍처: 동적 콘텐츠의 출현은 웹 아키텍처를 변화시켰다. AJAX(비동기 자바스크립트 및 XML)와 같은 기술은 전체 페이지를 다시 로드하지 않고도 부분적인 페이지 업데이트를 가능하게 하여 상호작용성을 높였다.
- 프로토콜: HTTP가 계속 사용되었지만, 실시간 통신을 위한 웹소켓 및 클라이언트와 서버 간의 더 나은 통합을 위한 RESTful API와 같은 새로운 프로토콜이 등장했다.
- 개선 사항:
- 사용자 생성 콘텐츠가 중요해지며 블로그 및 소셜 미디어 사이트(예: 페이스북, 트위터)와 같은 플랫폼이 사용자 상호작용을 가능하게 했다.
- 프론트엔드 프레임워크(예: 리액트, 앵귤러)의 도움으로 개발자들은 풍부한 인터페이스를 만들 수 있었다.
거래 웹 (전자상거래 및 웹 서비스)[edit | edit source]
- 아키텍처: 전자상거래 플랫폼은 안전하게 거래를 처리할 수 있는 강력한 아키텍처가 필요했다. 서비스 지향 아키텍처(SOA)와 마이크로서비스가 인기를 끌며 모듈식이고 확장 가능한 애플리케이션을 가능하게 했다.
- 프로토콜: HTTPS는 웹을 통한 안전한 거래를 위해 도입되었다. SOAP(간단한 객체 접근 프로토콜) 및 REST가 웹 서비스의 표준으로 자리 잡아 데이터 교환 및 거래 무결성을 촉진했다.
- 개선 사항:
- 결제 게이트웨이가 웹 애플리케이션에 통합되어 안전한 금융 거래를 가능하게 했다(예: 페이팔, 스트라이프).
- 향상된 API는 타사 서비스(예: 배송 및 재고 관리)와의 원활한 통합을 가능하게 했다.
전달 및 성능 최적화[edit | edit source]
- 아키텍처: 콘텐츠 전송 네트워크(CDN)가 웹 콘텐츠의 전달 속도를 향상시키기 위해 등장했다. 이 아키텍처는 여러 지리적 위치에 콘텐츠를 분산시켜 대기 시간을 줄였다.
- 프로토콜: HTTP/2의 도입은 다중화 및 헤더 압축과 같은 향상을 가져와 HTTP/1.1보다 성능을 크게 개선했다.
- 개선 사항:
- 프로그레시브 웹 앱(PWA)은 서비스 워커를 활용하여 오프라인 접근 및 백그라운드 동기화를 가능하게 하여 사용자 경험 및 배달을 향상시켰다.
- GraphQL의 채택은 클라이언트가 필요로 하는 데이터만 정확하게 지정하여 전송되는 데이터 양을 최적화했다.
현대 웹 (웹 3.0)[edit | edit source]
- 아키텍처: 초점이 블록체인 기술 및 피어 투 피어 네트워킹을 활용한 분산 애플리케이션으로 이동 중이다.
- 프로토콜: 분산 스토리지를 허용하는 IPFS(인터플래닛 파일 시스템)와 같은 새로운 프로토콜이 등장했으며, 웹3 프로토콜은 개인 정보 보호 및 보안을 향상시키는 데 초점을 맞추고 있다.
- 개선 사항:
- 스마트 계약 및 분산 금융(DeFi) 애플리케이션이 개발되어 신뢰할 수 없는 거래를 가능하게 하고 사용자 자율성을 높였다.
- OAuth 및 OpenID Connect와 같은 향상된 보안 조치가 사용자 인증 및 데이터 개인 정보 보호를 개선했다.