HTTP 프로토콜이란?
HTTP(HyperText Transfer Protocol) 프로토콜은 클라이언트가 서버로부터 HTML, CSS, 이미지, 비디오와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜입니다. 한마디로 클라이언트와 서버가 서로 대화하기 위한 의사소통 수단입니다.
브라우저는 어떻게 동작하나요?
렌더링 엔진
🕐 브라우저는 서버로부터 HTML, CSS, Javascript, 이미지 파일 등을 응답받습니다.
🕑 HTML과 CSS 파일은 렌더링 엔진의 HTML 파서와 CSS 파서에 의해 파싱되어 DOM, CSSOM 트리로 변환되고 렌더 트리로 결합됩니다.
🕒 생성된 렌더 트리를 기반으로 브라우저는 웹페이지를 표시합니다
Django 는 Python으로 만들어진 무료 오픈소스 web application framework이다.
web application framework?
웹사이트를 구축할때는 비슷한 요소들이 사용되는 경우가 많다 (예를 들어, 회원가입, 로그인, 글쓰기 등.) 이러한 웹사이트 개발에 자주 사용하는 요소들을 갖춘 tool을 웹프레임워크라고 부른다.
매번 HTTP 통신만 해봤지 socket을 써본 적이 없어서
하루 날잡고 간단하게 구현해봤다.
[구현]
1. index.html 진입 시 닉네임 입력
- 닉네임 중복 시 alert 창 표시
- 현재 대화방에 접속 중인 유저 수, 유저 닉네임 표시
2. 대화방에 접속하거나 나갈 때, 표시
3. 본인이 입력한 대화창은 오른쪽,
본인 이외의 다른 사람이 입력한 대화창은 왼쪽에 표시됨
SPA
Single Page Application
한 개의 페이지로 된 어플리케이션
웹 어플리케이션에 필요한 모든 정적 리소스를 최초 접속 시 한번에 다운로드 함
이후에 새로운 페이지 요청이 있을 때, 갱신에 필요한 데이터만 전달받아서 페이지를 갱신함
vue나 react가 index.html 페이지 하나에 컴포넌트를 갈아끼우는 걸 떠올리자.