본문 바로가기
Frontend-Framework/Django

[Django] #1-1. Web이란? (클라이언트와 서버/ 정적 웹페이지와 동적 웹페이지)

by 뉴비코 2022. 9. 17.

WEB

WWW (World Wide Web)

- '전 세계에 퍼져있는 거미줄 같은 연결망'

 

전 세계는 거대하고 촘촘한 유선으로 연결되어 있지만,

지리적 한계나 제 3세계의 경우 인프라의 한계가 있었습니다.

즉 정보의 빈곤 문제가 발생했습니다.

 

이를 해결하기 위해 ‘스타링크 프로젝트’, 소형 위성을 통해 데이터를 교환하기 시작했지만

여기서도 천체 관측의 어려움이나 환경 오염 문제등이 발생했습니다.

 

위와 같은 문제점들이 존재하나, 결국 우리가 인터넷을 이용한다는 것은 

전 세계의 컴퓨터가 연결되어 있는 하나의 인프라를 이용하는 것이라 볼 수 있습니다.

 

클라이언트와 서버

● 클라이언트

    - 웹 사용자의 인터넷에 연결된 장치 ( wifi에 연결된 컴퓨터나 스마트폰 등)

    - Chrome 또는 Firefox와 같은 웹 브라우저

    - 서비스를 요청하는 주체

 

● 서버

    - 웹 페이지, 사이트 또는 앱을 저장하는 컴퓨터

    - 클라이언트가 웹 페이지에 접근하려고 할 때, 서버에서 클라이언트 컴퓨터로 웹페이지 데이터를 응답해 사용자의 웹 브라우저에 표시되는 것.

    - 요청에 대해 서비스를 응답하는 주체

 

✔️ 상호작용 예시

 

예를 들어 구글 홈페이지에 접속한다는 것은 무엇을 의미하는 것일까요?

결론적으로 어딘가에 있는 구글 컴퓨터(서버)에게 'Google 홈페이지.html'파일을 요청한다는 것과 같아요.

그러면 구글 컴퓨터는 그 요청을 받고 html 파일을 '인터넷'을 통해 우리의 컴퓨터에게 응답해줍니다.

이렇게 전달 받은 파일을 웹 브라우저(클라이언트)가 우리가 볼 수 있도록 해석해서 보여주는 것입니다.

 

여기서 'Google 홈페이지.html'을 달라고 요청한 컴퓨터, 웹브라우저를 클라이언트라고 하고

'Google 홈페이지.html'파일을 제공한 컴퓨터, 프로그램을 서버라고 합니다.

앞으로 학습할 Django는 서버를 구현하는 웹 프레임워크입니다.

 

 

Web browser 와 Web page

 

웹브라우저

웹 브라우저는 웹에서 페이지를 찾아 보여주고, 사용자가 하이퍼링크를 통해 다른페이지로 이동할 수 있도록 하는 프로그램입니다. 웹 페이지 파일을 우리가 보는 화면으로 바꿔주는(rendering)프로그램이죠.

 

사실 우리가 보고 있는 웹 페이지는 HTML문서 파일 하나와 같습니다. (두둔)

구글 홈페이지를 살펴보면 우리는 하단의 좌측 이미지와 같은 화면을 보지만

실제로는 하단의 우측 이미지와 같은 빼곡한 코드로 작성된 HTML문서를 서버로 부터 전달받아요.

코딩을 모르던 시절, F12 단축키를 잘못눌렀을 때 만났던 무시무시한 화면이 사실은 HTML 문서였다는 사실! 

실제 우리가 보는 화면(좌) 웹 페이지 파일(우)

웹 페이지

- 웹에 있는 문서, 우리가 보는 화면의 한 장 한 장이 바로 웹 페이지 입니다. 웹 페이지에는 두 종류가 있는데요,

 

1) 정적 웹 페이지 (Static Web page)

있는 그대로를 제공하는 웹 페이지를 의미합니다.

한 번 작성된 HTML파일의 내용이 변하지 않고 모든 사용자에게 동일한 모습으로 전달되는 것이죠.

 

☑️ 같은 상황에서 모든 사용자에게 동일한 정보를 표시

☑️ 서버에 미리 저장된 HTML 파일 그대로 전달된 웹 페이지

 

 

2) 동적 웹 페이지 (Dynamic Web page)

사용자의 요청에 따라 웹페이지가 추가적으로 수정되어 클라이언트에게 전달되는 웹 페이지입니다.

이 때, 웹 페이지의 내용을 바꾸는 주체는 서버입니다.

➡️ 서버에서 동작하고 있는 프로그램이 웹 페이지를 변경해줍니다.

이렇게 사용자의 요청을 받아 적절한 응답을 만들어주는 프로그램을 쉽게 만들 수 있게 도와주는 프레임워크가 바로 Django입니다.

다양한 서버 사이드 프로그래밍 언어 사용이 가능하며, 파일을 처리하고 DB와의 상호작용이 이루어집니다.