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 요청을 받아 데이터를 전달하는 프로그램을 말한다.
- 웹 클라이언트가 웹 서버에 HTTP 요청을 보낸다.
- 웹 서버는 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
- 대체 불가능한 토큰
- 디지털 자산의 소유권을 인증하는 일종의 인증서