Notice
Recent Posts
Recent Comments
Link
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Archives
Today
Total
관리 메뉴

동균

Django 켠김에 왕까지(1) 본문

WEB

Django 켠김에 왕까지(1)

서동균 2024. 1. 16. 19:57

web을 처음 배우기 시작했는데 Django를 먼저 목표로 잡았다.

 

한국에서는 springboot를 많이 쓰지만  해외에서는 Django를 많이 쓴다고 한다.

더보기

Django는 Python 기반의 오픈 소스 웹 프레임워크입니다. 복잡한 데이터베이스 기반 웹사이트를 개발하는데 있어 개발자에게 유용한 도구를 제공합니다. 그 특징 중 하나는 강력한 관리자 인터페이스를 갖추고 있다는 것입니다.

우리가 늘 이용하는  instagram 역시 Django를 통해서 만들어졌다. 하지만 단순히 이러한 설명만 듣는다고 해서 정확히 Django가 어떤 역할을 하는지 알 수 없다.
'하나하나 하다 보면 언젠간 이해할 수 있을 거라고 생각한다.'

자 그럼 시작해 보자!

 

WEB이란 무엇일까

더보기

월드 와이드 웹(World Wide Web, WWW, W3)은 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간을 말한다. 간단히 (the Web)이라 부르는 경우가 많다. -위키백과-

간단하게 인터넷으로 이루어진 정보공간이라고 생각하면 편할 것 같다.

여기서 의문점이 하나 생긴다. 우리는 어떻게 메시지를 주고받거나 DM, 카톡등 메신저를 주고받을 수 있는 걸까?, 또 생각해 보면 멀리 살고 있는 다른 친구와 게임도 같이 하고 있다.  이런 게 어떻게 가능할까?

 

결론부터 말하면 이를 가능케 하는 건 네트워크 통신이다. 실제로 네트워크 통신을 위해서 광케이블이 해저밑에 전부 다 연결되어 있다.

 

깊게 공부하게 되면 엄청 복잡한 과정을 통해서 통신이 이루어진다고 하는데 그정도까지 알고싶진 않다.

많은 케이블을 통해서 데이터를 주고 받으면서 통신을 할 수 있다.

네트워크 통신은 각각의 고유한 IP값과 라우팅 기술을 통해서 문제없이 목적지까지 데이터를 보낼 수 있는데 이는 기회가 된다면 다음번에 구체적으로 작성하도록하겠다.

 

머 그래서 일단 우리는 인터넷을 통해서 전 세계적으로 연결되어있다. 이제 우리는 web사이트에 접속할 준비가 된 것이다.

 

Web 서비스 통신과정

이제는 웹서비스가 어떻게 데이터를 주고받는지에 대해서 알아보자

웹이 세상에 등장하면서 우리는 중요한 약속 하나를 했다 "앞으로 데이터를 주고받을 때는. HTTP 통신 규약을 따르자" 이것은 마치 우리가 일상적인 대화에서 문법에 따라 말을 주고받는 것과 유사하다. 만약 문법이 통일되어 있지 않다면, 같은 언어를 사용하더라도 의사소통은 매우 어려워질 것이다. 마찬가지로, 웹 상에서 웹 브라우저(클라이언트)와 서버 간의 통신도 HTTP라는 문법을 통해 정보를 교환한다. 이 통일된 통신 규약 덕분에 웹은 원할하고 효율적인 정보의 교류를 가능하게 하며, 전 세계의 다양한 시스템들이 서로 이해하고 연결 될 수 있는 기반을 제공한다.

 

음 이야기가 너무 멀리왔는데 어째튼 이러한 과정들을 통해서 우리는 데이터를 주고 받게 되는 것이다.

 

웹은 크게 프론트엔드와 백엔드로 나뉘는데, 프론트엔드는 우리가 웹브라우저에서 실제로 보는 부분을 만드는 거고, 백엔드는 요청 처리, 기능 구현, 데이터 관리 등 눈에는 안 보이지만 중요한 일을 맡고 있다.

 

 웹브라우저에 url을 입력하고 엔터키를 눌렀을때 일어나는 일을 간단히 보면

더보기
  1. 웹 브라우저에 URL을 입력하고 Enter 키를 누릅니다.
  2. 웹 브라우저가 도메인의 IP 주소를 조회합니다. (먼저 캐시를 찾고, 그다음 DNS를 검색합니다.)
  3. 웹 브라우저가 찾은 IP 주소를 기반으로 서버와의 TCP 연결을 시작합니다.
  4. 웹 브라우저가 HTTP 요청을 서버로 전송합니다. (필요한 경우, HTTPS 보안 통신이 진행됩니다.)
  5. 웹 서버가 요청을 처리하고 응답을 다시 웹 브라우저로 전송합니다.
  6. 웹 브라우저가 전송 받은 콘텐츠를 렌더링합니다.

이런방식을 통해서 최종적으로 우리는 웹사이트 화면을 볼 수 있는 것이다.

여기서 조금 추가적으로 설명하면 웹 서버가 응답을 보낼 때 HTML, CSS, JavaScript 같은 파일들을 포함해서 보내는 경우가 많다.

웹 브라우저는 이 파일들을 해석해서 사용자가 보는 웹 페이지로 만든다. 그리고 이 과정에서 브라우저는 쿠키나 웹 스토리지 같은 저장소에 데이터를 저장하거나 읽어오기도 한다, 이런 건 사용자의 세션 관리나 개인화된 경험을 제공하기 위해 중요하다고 볼 수 있다.

'WEB' 카테고리의 다른 글

Django 켠김에 왕까지(2)  (0) 2024.01.16