클라이언트 사이드와 서버 사이드
프론트엔드(클라이언트 사이드)
웹브라우저는 인터프리터로 html+css+js로 이루어진 코드를 읽어내에서 화면에 뿌려준다
클라이언트 사이드(사용자 측)이자 프론트엔드(앞단의 끝)
웹브라우저는 어디에도 아니라 바로 "여러분"의 컴퓨터에 깔려있다.
즉 저 코드들이 실행되는 곳은 바로 "여러분의 컴퓨터"라는 것이다.
여러분은 사용자이다. 즉 사용자의 컴퓨터에서 사용되기에 클라이언트 사이드(사용자 측)이라고 불리며
프론트 엔드(앞단의 끝)이라고 불리는 이유도 "여러분들에게 보여주는 단"
백엔드 (서버 사이드)
클라이언트 사이드가 사용자의 컴퓨터에서 실행되는 파일들(html,css,js)를 만드는 작업이라면
서버 사이드의 역할은 이 파일들을 만들어주는 역할
html,css,js로 만든 파일을 생성할 수 있다. 그걸 만들고 화면에 뿌려주는 것
프론트엔드 프로그래밍이라는 것은 완성된 결과물, 즉 도면을 만드는 프로그래밍
예를들어서 html안에 a태그가 4개가 있다면 확장자가 html인 폴더의 경우 죽었다 깨어나도 a태그는 4개일 뿐
html은 서버에서 손을 대지않고 바로 클라이언트측에 뿌려준다. 즉 서버에있는 도면 = 클라이언트에 뿌려줄 화면인것이다.
그러나 백엔드는 다르다. 왜냐하면 백엔드는 도면을 이용해서 뿌려줄 화면을 만들고 그것에 맞춰서 클라이언트에 전달하기 때문
프론트엔드 프로그래밍은 보여줄 화면을 어떻게 만들어질지 만들어주는것이며 따라서 특이 케이스만 만들면된다.
따라서 순수 마크업 언어인 html,css와 웹브라우저에서 동작할 기능을 담은 js만 만들면 되는 것이다.
그러나 백엔드는 코드가 존재하고 그 코드를 서버에서 프론트로 뿌려줄 코드로 번역한 후 사용자측에게 보낸다.
이 과정에서 백엔드는 서버를 사용할 수 있으며,서버는 항상 켜져있으므로 영속성이 있는 데이터를 다룰수 있으며
서버에 DB가 있으므로 DB역시 사용할 수 있게된다.