웹 서비스의 역사와 발전

김가람휘·2022년 1월 31일
1

CS

목록 보기
1/15

Internet&Web

1-1. Internet

  • 인터넷

    전 세계의 컴퓨터가 서로 연결되어 정보를 교환할 수 있는 하나의 거대한 컴퓨터 통신망
    즉, 컴퓨터들이 서로 통신 가능한 거대한 네트워크이다.
  • 전쟁으로 인한 IT 기술의 발전 -> 강력한 통신 기술의 필요성

    당시의 중앙 집중적 네트워크 연결 방식은 한 전화국이 파괴되면 그 전화국이 연결해 주는 모든 통신이 두절되는 단점이 있었기에 전시 상황에서 매우 심각한 문제였다. 따라서 소련의 핵 공격에도 생존할 수 있는 컴퓨터 통신 시스템 설계가 필요해졌다.

1-2. Web

  • "Collection of information which is accessed via the Internet", 인터넷 네트워크를 이용하여 통신되는 정보의 집합이다.
  • 1990년, 웹의 탄생

    인터넷이 등장하고 30년 뒤인 1990년에 웹이 등장하면서 인터넷 통신이 대중적으로 사용되기 시작했다. 인터넷이라는 네트워크 기능 안에 웹이라는 서비스가 존재한다.
  • 웹의 아버지, Tim Berners-Lee (팀 버너스리)

    1990년, 세계 최초의 웹 브라우저인 WWW(World Wide Web)이라는 프로그램을 개발했다.

1-3. 인터넷과 웹이 불러온 혁신

  • 유통 - 인터넷과 웹이 불러온 가장 큰 혁신

    정보 유통이 크게 발전했다. 예전에는 소프트웨어를 구입하려면 물리적인 매개체가 필요했지만 지금은 인터넷으로 주고 받을 수 있다.
  • 웹 기반의 SW 서비스의 시작

    정보의 유통이 혁신적으로 발전하며 많은 개발자들이 창업하기 시작합니다. 인터넷에 본인들이 만든 SW를 올려서 판매하기 시작합니다. -> 1세대 웹 서비스의 시작
    ex) 실리콘 밸리, Yahoo, Google, Amazon (2000년대)

2. Web History

2-1. Client&Server

  • Client

    고객, 사용자, 웹 서비스를 사용하는 고객 -> Web Browser
    ex) Browser-Chrome, Safari, Internet Explorer, etc
  • Server

    제공자, 웹 서비스를 제공하는 서버(컴퓨터)

2-2. 1세대 웹

  • 1세대 웹 - 정적인 웹

    • 서버가 HTML 페이지 전체를 클라이언트에게 전송
    • 당시의 기술->HTML, CSS->정적
    • 단순한 정보 제공 위주, 기능이 많지 않음
    • User Interaction 요구 없음, 로직 없음

2-3. 2세대 웹

  • 웹서비스의 발전-동적인 웹

    • 동적인 2세대 웹 서비스의 출현
    • 웹 기반의 언어 자바스크립트의 출현
    • 단순한 정적 페이지가 아닌 다이나믹한 요소들이 요구
    • 서버와 클라이언트가 HTML페이지와 JavaScript 로직을 통해 필요한 데이터를 주고 받으며 User Interaction 구현
  • 아직 프론트/백엔드 구분 없이 동일한 서버

    • 자바스크립트의 역할 증대, 하지만 일부분에서만 사용
    • 동일한 서버에서 HTML,CSS, Javascript 그리고 Data 전부가 클라이언트로 전송되는 형태

2-4. 3세대 웹

  • SPA(Single Page Application) 방식 등장

    • 단일의 HTML 페이지로 전체 웹 서비스 구현
    • 단일 HTML 페이지에 메인 Javascript 파일이 포함
    • JavaScript가 HTML 요소 생성부터 모든 페이지 및 기능을 동적으로 처리
    • 웹 페이지 렌더링에 필요한 Javascript 코드는 최초의 통신에서 한번에 송수신
    • 그 이후로는 서버와 실시간으로 데이터를 주고 받으며 필요한 화면을 동적으로 구성
  • 프론트/백엔드 개발의 분리

    • 기존에는 서버가 페이지 구성에 필요한 모든 요소(HTML, JavaScript, Data)를 매번 전송
    • SPA의 등장 (FE)
      웹 페이지 렌더링에 필요한 Javascript 코드는 최초의 통신에서 한번에 송수신
      그 이후로는 서버와 실시간으로 데이터를 주고 받으며 필요한 화면을 동적으로 구성
      자연스럽게 웹 브라우저가 필요한 서버와의 통신은 데이터 전송 및 연산 작업이 대부분이 됨 (BE)
      서버의 분리&업무의 분리 -> 프론트엔드와 백엔드 개발의 분리





3. Modern Web Development

3-1. Modern Web System Architecture

  • 웹 서비스의 복잡성 증가

    • User Interaction의 중요성 증가
    • 사용자 수, 데이터의 양 증가
  • 이전에 겪지 못한 두 가지 문제
    • 동시 접속자 수
    • 데이터의 양
  • System Architecture 발전
    • FE서버 / BE서버 분리
    • BE API 서버의 세분화
    • 데이터 요청 분산 처리 (API Gateway)

3-2. Modern Web Development Team

0개의 댓글