Web

1. WEB

1-1. WWW(World Wide Web)

월드 와이드 웹이란?

**웹(web)**이라고도 불리는 **월드 와이드 웹(www)**이란 인터넷에 연결된 컴퓨터들이 서로 정보를 공유하고 찾아볼 수 있는 공간이다.

하이퍼텍스트

웹은 하이퍼텍스트(Hypertext) 형식으로 이루어진 문서를 연결한다.

한 문서에서 다른 문서로 넘어가는 링크를 하이퍼링크(HyperLink) 라고 하는데, 하이퍼링크를 포함한 문서를 하이퍼텍스트 라고 한다.

즉, 웹은 하이퍼링크를 포함한 하이퍼텍스 형식으로 이루어진 문서들을 연결한다.

웹의 구성 요소

  • URL(Uniform Resource Locator)
    • 웹의 주소
    • 특정 웹 자원의 위치를 찾는 역할
  • HTTP(Hypertext Transfer Protocol)
    • 웹이 데이터를 받아오기 위해 웹 브라우저와 웹 서버가 통신할 때, 서로 데이터를 교환하는 방식을 정리한 약속
  • HTML(Hypertext Markup Language)
    • 웹 브라우저는 웹 서버에서 HTML 이라는 언어로 작성된 문서를 받아 웹 페이지를 표시
  • 웹 브라우저
    • 웹 문서를 열기 위해 사용하는 응용 프로그램
    • URL과 HTTP를 사용해 웹 서버에 데이터를 요청하고, 받아온 HTML, 자바스크립트 같은 코드로 되어 있는 문서를 웹 페이지의 형태로 바꿔줌

웹 페이지를 본다 == 웹 브라우저를 실행해 주소창에 원하는 URL을 넣은 뒤, HTTP 통신을 통해 얻은 HTMTL을 웹 브라우저가 번역해 준 문서로 본다.

1-2. 인터넷과 웹

인터넷

컴퓨터와 컴퓨터가 서로 연결되어 구성된 망을 네트워크라고 부르는데, 인터넷 은 전 세계의 네트워크를 하나로 연결한 거대한 네트워크 시스템이다.

인터넷을 통해 전 세계 컴퓨터들이 서로 연결되어 있기 때문에, 이메일 / 파일 전송(FTP) / 원격 접속 / 웹 등 다양한 통신이 가능해졌다.

즉, 인터넷은 컴퓨터와 컴퓨터를 랜선 등으로 실제로 연결해서 통신할 수 있게 만들어놓은 인프라를 의미하고,

웹은 이렇게 서로 연결된 컴퓨터끼리 더 쉽게 정보를 공유할 수 있게 만들어진 시스템이다.

1-3. 웹 애플리케이션 아키텍처

웹 클라이언트, 웹 서버

웹 애플리케이션 아키텍처 란, 웹 동작에 필요한 각 요소와 그 사이 상호 작용을 정의해 놓은 것이다.

웹 클라이언트 란, 사용자가 웹에 접근할 때 사용하는 프로그램이다. (ex. 크롬, 사파리)

웹 서버 란, 웹 클라이언트로부터 HTTP 요청을 받아 데이터를 전달하는 프로그램을 말한다.

  1. 웹 클라이언트가 웹 서버에 HTTP 요청을 보낸다.
  2. 웹 서버는 HTTP 메세지를 확인한 후, 이에 맞는 데이터를 처리하여 웹 클라이언트에 응답한다.

WAS

WAS(Web Application Server) 란, 웹 서버로부터 주로 동적 콘텐츠를 받아 이를 처리한 뒤, 그 결과를 다시 웹 서버에 전달하는 중간자 역할을 한다.

동적 콘텐츠란?
데이터베이스로부터 필요한 데이터를 조회하는 등 다양한 로직 처리가 필요한 콘텐츠

즉, 웹 서버가 해야 하는 일을 나눠 가져 서버의 부담을 줄이고 전체 웹 통신의 효율을 높여준다.

데이터베이스

데이터베이스(DB) 란, 자원을 정리하여 보관하는 보관소이다. WAS에서 동적 콘텐츠를 제공하기 위해 접근하는 장소이기도 하다.

1-4. HTML, CSS, 자바스크립트

HTML(Hypertext Markup Language)

  • 화면의 구조를 명시하는 언어

CSS(Cascading Style Sheets)

  • HTML 같은 마크업 언어로 작성된 요소를 어떻게 표현할지 지정하는 스타일 시트

자바스크립트

  • 프로그래밍 언어
  • 웹 페이지에 동적 기능을 제공하는 언어

1-5. 웹 변천사

웹 1.0

  • 유저는 단순히 정보를 소비
  • 읽기 전용의 기능이 가장 큼
  • ex) 인터넷 익스플로러, 구글 야후 등의 검색 포털, 아마존 등의 온라인 커머스

웹 2.0

  • 읽기와 쓰기
  • 웹 1.0과 2.0에 등장한 서비스는 그 안에서 탄생한 모든 데이터를 중앙화된 서버에서 관리
  • 서비스에서 발생한 데이터는 모두 기업이 소유
  • ex) 틱톡, 에어비앤비

웹 3.0

  • 데이터 분산화(== 탈중앙화)에 초점

탈중앙화란?
데이터를 일부 기업의 독점에서 벗어나, 개인이 온전히 소유해 데이터에 대한 통제권을 일반 사용자가 가져오는 형태

  • 블록체인
    • 데이터를 만드는 데 기여한 사람들끼리 정보를 나눠 갖는 구조
  • NFT
    • 대체 불가능한 토큰
    • 디지털 자산의 소유권을 인증하는 일종의 인증서