웹의 주요 기능
1. HTTP + HTML(CSS)
2. WAS
3. DB
HTTP는 티모시 버너스리에 의해 만들어짐.
클라이언트에서 url을 입력하여 요청하면 서버가 응답하는 형식.
처음엔 문서만 확인하였지만 HTML이 발전하면서 CSS와 이미지를 포함했다. 이러한 파일을 서버에선 static한 형태로 저장했다.
HTTP는 stateless의 특성을, tcp 통신은 stateful의 특성을 지녔기 때문에 파일을 한 번에 송신할 수 없다.
이후, JS가 생기면서 HTML,CSS를 구문분석(parser), 화면에 표시하는 렌더링, JS를 해석할 JS엔진 세 가지로 나뉘어 웹 서비스 프론트사이드 클라이언트의 3요소로 구성하게 된다.
JS는 백에서 저장되지만 프론트에서 실행된다(보안문제)
기존 단방향 통신이었던 웹은 JS의 등장으로 양방향(상호작용) 통신으로 바뀐다. 이로 인해 상태라는 개념(전, 중, 후)이 등장하고, 상태의 전이를 기억할 수 있는 수단이 필요했다.
백에서는 많은 데이터가 생기기 때문에 DB라는 저장소를 만들고, 프론트에서는 http가 stateless기 때문에 cookie를 만들어 클라이언트의 컴퓨터에 저장하도록 했다.
양방향 통신이 됨으로써 클라이언트에서는 get뿐만 아닌 post를 할 수 있게 됐다. 이런 요청에 대해 처리할 구체가 WAS이다. 화면에 렌더링하는 것은 VIEW, DB는 MODEL, 여러 가지 처리를 할 CONTROL, MVC 아키텍처라고 불린다.