Home 웹 서비스의 역사와 발전
Post
취소

웹 서비스의 역사와 발전

웹 서비스의 역사와 발전

Internet

  • 컴퓨터들이 서로 통신 가능한 거대한 네트워크
  • 1950년에 미국에서 방공망 시스템을 구축하기 위해 개발되었으며, 디지털 데이터를 아날로그 신호로 변환하여 전화선을 통해 컴퓨터 통신을 가능하게 해주는 Modem을 통해 컴퓨터 통신을 가능하게 함
  • 1969년에 2차 세계 대전의 종전과 함께 컴퓨터 통신 시스템의 필요성을 느끼고 자본주의의 미국과 사회주의의 소련의 대립을 통해, 소련의 핵공격에서도 생존할 수 있도록 인공위성 경쟁과 핵 미사일 개발 경쟁이 일어났으며 모뎀을 이용하였지만, 장거리 전화 시스템에서 통신망 구축에 많은 비용 소모와 전화선은 음성을 전달하는데 최적화가 되어있고 중앙집중적 연결방식 때문에 한 전화국이 안되면, 모든 통신이 두절되기 때문에 모뎀의 대안으로 ARPAnet이 탄생하게 됨

    • 아르파넷은 ARPA + 분배 네트워크 + 패킷 스위칭 + 라우터를 결합한 단어이며 ARPA는 Sputnik shock의 여파로 국방연구를 체계적으로 수행하기 위해 1958년 미국에서 설립된 기관
    • 분배 네트워크는 하나의 컴퓨터가 다른 컴퓨터에 통신할 때, 두 가지 이상의 경로를 통해 접속되는 네트워크 방식으로 한개의 경로가 파괴될지라도 다른 경로로 전달 될 수 있는 이점이 있음
    • 패킷 스위칭은 한 메시지를 여러 개의 조각으로 분할하여 데이터가 손상되는 경우라도 전체 데이터가 아닌 해당 부분만 보내는 이점이 있음
  • 1983년 네트워크 기술에 대한 관심이 증가하였으며 다양한 네트워크가 등장하면서 1971년에 e-mail이 개발되었고 1972년 아르파넷의 시연이 되었으며 아르파넷 이외의 Telnet, Usenet 등 다양한 네트워크가 구축되었으며, 이처럼 다양한 네트워크가 구축되면서 서로 연결하기 위한 표준이 필요로 하게되어 데이터를 교환하기 위해 사용하는 규약인 Protocol이 등장하였고, 다양한 프로토콜 중 TCP/IP(Transmission Control Protocol / Internet Protocol)가 인터넷의 표준 프로토콜로 선정되었으며 이후 인터넷은 TCP/IP를 통하여 서로 연결된 네트워크를 의미하게 되었음

Web

  • 웹은 네트워크를 이용하여 통신되는 정보들의 집합을 의미
  • 1990년에 인터넷이라는 네트워크 기능 안에 웹이라는 서비스가 등장하여 인터넷 통신이 대중적으로 사용되기 시작됨
  • 팀 버너스리(Tim Berners-Lee)가 WWW(World Wide Web)이라는 프로그램을 개발하였음
  • 이전에는 소프트웨어를 구입하려면 물리적인 매개체가 필요하였지만 인터넷과 웹의 등장으로 웹안에서 정보 유통이 가능하게 됨
  • 웹 기반 소프트웨어 서비스의 시작으로 인터넷에 직접 만들어 소프트웨어를 올려 판매를 시작하고 야후, 구글 등 웹기반 소프트웨어 서비스가 시작되며 1세대 웹 서비스의 시작이 됨

클라이언트와 서버

  • 클라이언트는 사용자와 웹 브라우저를 의미함
  • 서버는 제공자와 웹 서비스를 제공하는 서버(컴퓨터)를 의미함

웹의 발전

  • 1세대 웹

    • 정적인 웹
    • 서버가 HTML 페이지 전체를 클라이언트에 전송

    • HTML과 CSS로 전송하여 정적인 화면

    • 단순 정보 제공 위주였으며, 기능이 많지 않았음

    • 사용자 상호작용 요구가 없었고, 로직이 없었음
  • 2세대 웹

    • 동적인 웹
    • 웹 기반 언어인 JavaScript가 나옴
    • 동적인 요소들이 요구됨
    • 서버와 클라이언트가 HTML 페이지와 JavaScript 로직을 통하여 필요한 데이터를 주고 받았으며 사용자 상호작용을 구현함
    • 아직까진 프론트와 백엔드 구분없이 동일한 서버를 사용하였으며, JavaScript는 일부분에서만 사용함
    • 동일한 서버에서 HTML과 CSS, JavaScript, Data 전부가 클라이언트로 전송하는 형태
  • 3세대 웹

    • SPA(Single Page Application) 방식의 등장
      • 단일의 HTML 페이지로 전체 웹 서비스를 구현
      • 단일 HTML 페이지에 메인 JavaScript 파일이 포함됨
      • JavaScript가 HTML 요소 생성부터 모든 페이지 및 기능을 동적으로 처리
      • 웹 페이지 렌더링에 필요한 JavaScript는 최초 통신에서 한번에 송수신하고 이후 서버와 실시간으로 데이터를 주고 받으며 필요한 화면을 동적으로 구성
    • 프론트엔드와 백엔드 개발의 분리
      • 2세대 웹에서는 페이지 구성에 필요한 모든 요소들을 매번 전송하였지만, SPA의 등장으로 웹 페이지 렌더링에 필요한 JavaScript 코드는 최초의 통신에서 한번에 송수신 되었으며, 이후 실시간으로 데이터를 주고 받으며 필요한 화면을 동적으로 구성함
      • 서버의 분리와 업무의 분리로 프론트엔드와 백엔드 개발이 분리가 됨

Modern Web Sysyem Archietecture

  • User Interaction의 중요성 증가와 많은 사용자 수, 데이터 양의 증가로 웹서비스의 복잡성 증가
  • 동시 접속사 수와 많은 데이터양
  • 프론트엔드 서버와 백엔드 서비스의 분리, 백엔드 API 서버의 세분화, 데이터 요청 분산처리(API Gateway) 로 System Architecture 발전
This post is licensed under CC BY 4.0 by the author.