10. 웹 서비스의 역사와 발전

이수현·2022년 5월 10일
0

TIL

목록 보기
10/23

📚웹 서비스의 역사와 발전

  1. 인터넷과 웹이 출현한 형태
  2. 1세대, 2세대, 3세대 웹의 발전과 각각의 특징
  3. Frontend, Backend 가 언제부터 나뉘게 되었는지, 각각의 역할
  4. 현대 개발팀을 구성하는 여러 직군에 대한 설명

인터넷과 웹의 출현

Internet의 역사

  • 인터넷의 역사는 1950년대 컴퓨터의 개발과 더불어 시작되었다.
    메인프레임 컴퓨터와 단말기 간의 점대점 통신 -> 컴퓨터 간의 점대점 연결 -> 패킷 교환 방식으로 연구가 확장되었다.
  • 1960년대 초에 메시지 블록 데이터를 기반으로 분산 네트워크 제안.
    ARPAnet, MARK I 등과 같은 패킷 교환망은 1960년대 말과 70년대 초에 다양한 프로토콜(통신 규약)을 이용하여 개발 -> ARPAnet으로 말미암아 internetworking을 위한 프로토콜이 개발 -> 서로 떨어진 여러 개의 망들이 여러 네트워크의 한 네트워크로 함께 결합

    ARPAnet: ARPAnet은 미국 국방부의 주도하에 만들어진 세계 최초의 패킷 스위칭 네트워크로 1969년에 시작되었다.
    당시에는 회로 스위칭이 많이 쓰이고 있었지만, ARPAnet의 발족한 뒤로 이제까지 패킷 스위칭이 널리 쓰이고 있다.
    발족 당시의 노드로는 UCLA, UCSB, SRI, Utah의 네 군데가 있었다.

  • 1981년 미국 국립과학재단이 CSNET을 개발하면서 ARPAnet으로의 접속이 확장되었으며 1982년 "TCP/IP"가 표준화 되었고, 인터넷이라 불리는 TCP/IP 네트워크의 월드 와이드 네트워크의 개념이 등장.
  • 1986년 NSFNET이 미국의 연구 및 교육 단체의 슈퍼컴퓨터 사이트에 접속을 제공하고, ARPAnet은 1990년에 직권이 해제되었다.
  • 인터넷은 NSFNET의 직권이 해제된 1995년 시장에 들어왔으며, 이로써 상용 트래픽을 전달하기 위한 인터넷 사용의 마지막 제한이 제거됨.
    -> 1990년대 중순 이후로 인터넷은 문화와 상업에 막대한 영향을 미쳤다.

-> 원격통신 기술이 발달함에 따라 인터넷은 전 세계적인 통신망이 되었다.

Web의 출현

  • World Wide Web(WWW)는 1989년 CERN에서 근무하는 동안 영국 과학자 팀 버너스리가 발명했다.
    CERN은 100개 이상의 국가에서 온 10,000명 이상의 과학자를 포함하는 광범위한 커뮤니티였다. -> 많은 과학자들은 일반적으로 본국의 대학과 연구소에서 일을 했다. -> 따라서 신뢰할 수 있는 커뮤니케이션 도구가 필수적이었다.

-> WWW의 기본 아이디어는 컴퓨터, 네트워크 및 HyperText의 진화하는 기술을 강력하고 사용하기 쉬운 "글로벌" 정보 시스템으로 통합하는 것이었다.

[The first page of Tim Berners-Lee's proposal for the World Wide Web, written in March 1989 (Image: CERN)]

info.cern.ch 는 CERN의 NeXT 컴퓨터에서 실행되는 세계 최초의 웹사이트이자 웹 서버의 주소였다.
이렇게 우리가 일반적으로 생각하는 인터넷, 인터넷의 대중화는 이렇게 웹이 등장하면서 시작됨.

웹1.0~3.0과 1세대~3세대 웹의 발전 방향과 특징

  • 웹 1.0은 컨텐츠 생산자와 사용자가 정확히 구별되어 있다.
    ->즉, 사용자는 일방적으로 만들어진 컨텐츠만 소비한다.
  • 웹 2.0은 쉽게 얘기해서 인터넷의 구성원들이 컨텐츠 생산자인 동시에 소비자가 된다.
    -> 현재 우리가 사용하고 있는 다양한 블로그, SNS와 같은 대부분의 플랫폼에서 웹 2.0을 경험하고 있다.
  • 웹 3.0은 위 표에 나와있는 것처럼 2세대 웹의 특징에서 벗어나기 위한 기술이 핵심이다.
    -> 웹 2.0은 사용자가 생산한 컨텐츠의 소유권은 사실 해당 플랫폼에게 있다. 또한, 개인 정보가 해당 플랫폼에 제공돼서 그 정보를 활용하여 광고 수익을 얻지만, 사용자는 보상을 받지 않는다.
    -> 그래서 웹 3.0은 사용자가 만든 데이터는 기업이 보유한 중앙 서버에 저장하지 않고 내가 갖는다는 탈중앙화 특징이 있다. 결국 3세대 웹은 분산화, 탈중앙화에 기반을 둔 사용자 맞춤 정보 제공이라고 정리할 수 있다.

다른 특징을 알아보자.

  • 1세대 웹은 HTML, CSS로만 이뤄져있기 때문에 정적이다.
  • 2세대 웹은 1세대 웹에서의 정적이고 단방향적인 특징에서 벗어나고자 하는 것을 초점으로 발전했다.
    JavaScript가 등장하면서 단순 정적 페이지가 아닌 동적인 요소들을 사용할 수 있게됨.
    웹 서버에서 전체 HTML 페이지 뿐만 아니라 JavaScript를 통해 서버와 필요한 데이터만 주고 받음으로 동적인 User Interaction을 구현하게 됨.
    현재의 API 개념이 널리 사용되지 않음. -> 동일한 서버에서 HTML, 프론트 영역과 백엔드 영역 둘 다 전송
  • 3세대 웹은 2세대에서 하나의 서버에서 HTML, 프론트 영역과 백엔드 영역을 보내던 것을
    HTML 태그 자체를 JavaScript가 동적으로 생성해주게 되면서 API 개념을 사용하는 방향으로 발전되었다.
    그래서 JavaScript가 주가 되고 그 안에 일부 HTML, CSS가 포함됨 -> 이게 바로 하나의 파일로 전체 사이트를 구현하는 SPA의 탄생 배경
    2세대 웹의 서버가 페이지 구성에 필요한 모든 요소를 매번 전송하는 것이 아니라, 파일은 한 번만 송수신하고 그 뒤로는 실시간 데이터만 송수신.
    처음 전송받은 HTML 페이지에 포함된 JavaScript에서 필요한 데이터를 서버로부터 호출하여 동적으로 화면을 구성
    이 시점에 FrontEnd와 BackEnd 개발이 독립적으로 분리-프론트는 화면 구성(UI & UX) 백은 Data

현대 개발팀을 구성하는 여러 직군

  • Product Manager(기획자): 개발하고자 하는 서비스를 정의하고 기획
  • Project Manager: 프로젝트의 일정 및 출시 관리를 담당하는 역할
  • Designer: UI & UX를 구현하는 역할.
  • Frontend Developer: HTML, CSS, JavaScript 로 프론트엔드 시스템을 구현하는 역할
  • Backend Developer: 백엔드 시스템을 개발하는 역할.
  • DevOps(Development Operations): 시스템 개발(Development) 뿐만 아니라 시스템 운영(Operation)까지 담당하는 것
  • Infra Engineer:
  • Data Engineer:Data Scientist 가 데이터를 분석할 수 있도록 데이터를 정리하고 정석화 시키는 시스템을 구현하는 역할을 담당. 데이터 파이프라인 구축.
  • Data Scientist: Machine Learning, AI 등의 데이터 분석에 필요한 알고리즘과 모델링의 구현을 담당하는 직군. 많은 양의 데이터를 분석해서 새로운 정보와 가치를 만들어 낼 수 있는 직군
  • Tester: 시스템을 테스트하여 검증하는 역할을 담당하는 직군

0개의 댓글