1주차 - Client - Server Model
개요
웹 개발자로서 Client Server Model이 무엇인지 알고있어야
어디에서 어떤 문제가 발생했는지 판단이 가능합니다.
Spring Boot
스프링부트는 (Web) Application Framework 입니다.
Web에서 가장많이 사용되기는 하지만
실제로는 Web이 아니여도 사용이 가능합니다.
HTML, CSS, JS
위 세가지는 Internet의 Cornerstone(주춧돌)입니다.
이 세가지가 브라우저에 제공됨으로써 다양한 화면이 출력됩니다.
- HTML
브라우저에 표시될 내용을 기술하는 언어입니다.
이 그림이 어떤식으로 그려져야 하고
어떤 내용이 있는지 명시합니다. - CSS
표현되는 형식을 정의하는 언어입니다.
HTML문서상에서 자기소개 페이지를 만들었다고 가정한다면
페이지 내 이름의 색깔, 폰트, 모양 등등을 정의합니다. - JS
브라우저에 동작을 제공하는 언어입니다.
브라우저에서 사용하고있는 HTML문서의 동작을 정의합니다.
특정한 상황에서 특정한 일이 발생할것이다 등의 내용이 있습니다.
하나의 페이지안에서 새로고침 없이 자신이 가지고 있는것들을 사용합니다.
위 세가지 기술 모두 기본적으로 인터넷 브라우저가 사용하는 기술입니다.
브라우저
초창기의 인터넷 브라우저는 표준이 없었습니다.
지금도 표준보다는 점유율이라고 얘기합니다.
브라우저간 기반 기술이 다르기 때문에
서로의 호환성 문제가 발생했습니다.
하지만 현재는 같은 기술적 기반을 가지고있고
각각의 브라우저가 서로 호환이 가능합니다.
즉 현재 세대에서는 Chrome을 기준으로 개발하는것이
일반적인 서비스를 제공할 수 있습니다.
Frontend와 Backend
Frontend
HTML, CSS, JS는 브라우저에서 사용하고 있는 기술입니다.
브라우저는 그자체로 인터넷이 아닙니다.
인터넷 브라우저는 위의 세가지 언어들을 해석하는 도구입니다.
Frontend 개발자
브라우저에 보이는걸 중점으로 공부하는 개발자
UI / UX등도 겸할수 있습니다.
Backend
여러 사용자들이 같은 템플릿을 사용하여 게시글을 작성한다면
그 내용들은 다르게 보여집니다.
여기서 다르게 보여지는 부분들은 서버에서 관리됩니다.
사용자의 요청에 따라서 보여주는 데이터를 다르게 보여주는것에 집중합니다.
이것을 비지니스 로직이라고 부릅니다.
Backend 개발자
상황에 맞는 로직과 데이터를 다루는 개발자입니다.
프론트와 백엔드의 차이점
프론트 - 보여지는것
백엔드 - 비지니스 로직, 데이터
풀스택 - 프론트, 백 모두 할 수 있는 개발자입니다.
참고
AI, 블록체인, Android등의 모바일 서비스는 일반적인 웹 개발의 범주 밖입니다.
Internet
원격으로 연결된 수많은 컴퓨터들이 이루는 네트워크를 말합니다.
인터넷 브라우저에서 HTML 문서를 실행하면
어떠한 웹 페이지의 형태로 보여지게 됩니다.
여기서 사용되는 HTML 문서는 인터넷 환경에 존재하거나
자신의 컴퓨터에 존재 할 수 있습니다.
즉, 인터넷을 통해서 또다른 컴퓨터 혹은 서버컴퓨터에 요청을 보내
HTML 문서를 응답받고 브라우저가 페이지의 형태로 보여주게 됩니다.
이때 요청과 응답의 형식으로써 사용되는것이 HTTP 입니다.
HTTP는 요청과 응답의 형식이 정의되어 있습니다.
한번의 요청과 응답이 끝나게되면 연결이 끊어진 상태입니다.
인터넷이 끊겨도 현재 보여지고 있는 페이지는 그대로 보여집니다.
이러한 형식으로 클라이언트와 서버는 서로 분리되어 있습니다.
Client - Server Model
요청과 응답을 통해서 하나의 컴퓨터 또는 프로세스에서
또다른 컴퓨터 또는 프로세스로
요청과 응답을 주고받는 형태로 제공되는 애플리케이션
Spring Boot
스프링 부트는 서버 프로세스에 해당합니다.
실제로 프로세스가 떠있는 컴퓨터를 서버라고 부르기도 합니다.
Spring Boot는 HTTP 요청 등을 받으면
요청에 따른 응답을 돌려주는
Web Application을 만드는 Framework입니다.
Framework
특정한 목적을 위한 도구 또는 라이브러리의 모음입니다.
Spring Boot를 공부한다는 것은
Spring Boot를 기초로 웹 서비스에 필요한 요소들을 알아보는 것입니다.