클라이언트-서버
클라이언트(Client)
서비스를 요청하는 주체
요청(Request)를 보내는 컴퓨터
주로 웹 브라우저나 인터넷에 연결된 장치를 의미
- 사용자 PC, 스마트폰
서버(Server)
자원을 제공
자원을 관리하고 응답(Response)을 보내는 컴퓨터
클라이언트의 요청을 처리하고 응답
- 구글의 데이터 센터 컴퓨터
클라이언트-서버의 동작 원리
클라이언트가 요청 → 서버가 응답 → 클라이언트가 결과를 해석
사용자가 브라우저에서 구글에 접속하려고 '구글 홈페이지.html'파일을 요청
→구글 서버는 요청을 처리하고 '구글.html'파일을 클라이언트에게 전달
→브라우저가 전달받은 파일을 해석해 사용자에게 웹 페이지를 보여줌
API
서버는 데이터를 응답할 때 HTML뿐만 아니라 API를 통해 JSON이나 XML형태의 데이터를 제공
클라이언트는 이를 사용해 동적인 콘텐츠를 보여줌
클라우드 서버
물리적인 서버 대신 클라우드 환경(예 : AWS, GCP)에서 서버를 운영 가능
클라이언트는 물리적 위치와 상관없이 클라우드에 접속
* 클라이언트-서버와 보안
요청과 응답은 HTTPS 프로토콜을 통해 암호화하여 안전한 통신을 보장
*WWW(World Wide Web)
전 세계에 펼쳐진 거미줄
전 세계의 컴퓨터들이 서로 연결된 네트워크를 의미
물리적으로는 해저 광케이블을 통해 연결
현재 위성 통신은 전 세계 인터넷 트래픽의 약 1%만 차지, 90%이상은 해저 광케이블이 처리
→케이블이 닿지 않는 히말라야, 극지방, 개발도상국 등은 인터넷 연결에 어려움을 겪음
→ 정보 격차 초래, 특정 지역이나 계층의 정보 접근 빈곤으로 이어짐
Starlink 프로젝트
일론 머스크의 Starlink
소형 위성을 통해 데이터를 주고받는 인터넷 연결 프로젝트
장점 : 물리적 케이블이 없는 지역에서도 인터넷 제공 가능
단점 : Starlink Train 현상으로 천체 관측에 방해가 됨 + 우주 쓰레기 문제 + 기상 조건에 따른 서비스 안정성 + 데이터 보안 문제 등..
[해저 케이블 맵(Submarine Cable Map) 참고]
웹이나 인터넷이라고 부르는 것은 전 세계의 컴퓨터가 연결된 거대한 네트워크 인프라를 활용하는 것
웹 프레임워크 'Django'로 클라이언트-서버 구조 기반의 네트워크 인프라 서비스를 개발
'∟Framework > ∟Django' 카테고리의 다른 글
Django - Design Patterns (0) | 2025.01.08 |
---|---|
Django - Request & Response (0) | 2025.01.07 |
Django - App (1) | 2025.01.06 |
Django - Project (3) | 2025.01.03 |
Django 개발 환경 구성 (9) | 2025.01.02 |