[WEB]웹 서비스의 역사와 발전

Jimin_Note·2022년 5월 24일
0

[WEB]

목록 보기
2/4

1. Internet & Web

📍인터넷이란?

  • 전 세계의 컴퓨터가 서로 연결되어 정보를 교환할 수 있는 거대한 통신망

📍전쟁으로 인한 IT기술의 발전(강력한 통신 기술이 필요해짐)

  • 2차 세계 대전의 종료

자본주의 미국 VS 사회주의 소련

우주 경쟁(인공위성 발사) → 핵 미사일 개발 경쟁

  • 강력한 컴퓨터 통신 시스템 설계의 필요성

과거에는 전화선을 이용한 유선통신 → 한 전화국의 파괴로 인해 모든 통신 두절 (전시 상황시 매우 심각))

📍통신 기술 + 컴퓨터 기술

🌐WEB

: 인터넷 네트워크를 이용하여 통신되는 정보의 집합

💁 **Tim Berners-Lee** 인터넷 등장 후 30년 뒤, 1990, 세계 최초의 웹 브라우저 WWW 프로그램 개발

인터넷과 웹이 불러온 혁신

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

  • 정보 유통의 발전
  • 소프트웨어를 구입하려면 물리적인 매개체가 필요

ex) 종이신문 → PDF신문 및 라이브뉴스

웹 기반의 SW서비스 시작

  • 정보유통의 혁신적 발전으로 많은 개발자들의 창업
  • 본인이 만든 SW 판매
  • 2000년대 : 실리콘밸리, 야후, 구글, 아마존…

2. Web Architecture History

client

→ 고객, 사용자

→Chrome, Safari, Internet Explorer…

Server

→제공 & 응답

→카카오톡 메신저 서버, 네이버 검색 서버

Request & Response

  • Request
  • Response

client → server

server → client

1세대 웹 : 정적인 웹

2세대 웹 : 동적인 웹

  • 서버가 HTML 전체를 client에게 전송

  • 웹 기반의 언어 JS 출현

  • 단순한 정보 제공 위주,기능이 많지 않음

  • 단순한 정적페이지가 아닌 다이나믹한 요소 요구

  • 요구, 로직 X

  • server,client가 HTML,JS 로직을 통해 데이터주고받으며 User Interaction구현

  • JS 역할 증대했지만 일부분에서만 사용

  • FE,BE 구분 X

3세대 웹 : SPA(single Page Application)방식 등장

  • 단일 HTML 페이지로 전체 웹 서비스 구현
  • 단일 HTML 페이지에 메인 JS파일포함
  • JS가 HTML 요소 생성부터 모든 페이지 및 기능을 동적으로 처리
  • 웹 페이지 렌더링에 필요한 JS코드는 최초의 통신에 한번에 송수신
  • FE,BE 가 나뉨 →서버 & 업무 분리

3. Modern Web Development

😟 이로 인한 문제점

  1. 웹 서비스의 복잡성 증가
  • User Interaction 의 중요성증가
  • 사용자 수
  • 데이터의 양 증가
  1. 이전에 겪지 못한 두 가지 문제
  • 동시 접속자 수
  • 데이터의양

😁해결하기 위한 웹 시스템의 발전

  • 서버가 페이지 구성에 필요한 모든요소를 매번 전송했었는데 → 프론트엔드와 백엔드 개발의 분리로 해결

예시) 로그인 기능 구현

  1. Frontend 사용자의 이벤트를 처리 - 키보드로 ID, PW 데이터 입력
  2. Frontend 사용자에게 정보를 받아서 백엔드에 전달 - 입력된 ID, PW 데이터를 백엔드에 전달
  3. Backend 사용자 데이터 확인 - 전달 받은 ID, PW 와 데이터베이스에 저장된 사용자 정보 확인
  4. Backend 요청에 따른 응답 - "사용자가 없다", "비밀번호가 틀렸다", "정상적으로 로그인"
  5. Frontend 응답받은 데이터를 다시 화면에 그려주기 - "없는 정보입니다.", "비밀번호를 다시 입력해주세요", "정상적으로 로그인 처리 되었습니다.

Modern Web Development Team

PM(Product Manager) : 서비스를 정의하고 기획, 유지보수(큰 그림을 그려줌)

Scrum Master : 프로젝트 일정 및 출시 관리 → 정해진 시간 내에 정해진 업무를 끝낼 수 있게 도와주는~(큰 그림을 그려줌)

Designer : 다양한 툴을 직접 만듬(UI/UX)

QA(Quality Assurance) Tester : 말 그대로 잘되는지 테스트함

profile
Hello. I'm jimin:)

0개의 댓글