본문 바로가기
study/Django

웹 프로그래밍 개념과 웹서버, 웹 애플리케이션 차이

by kuah_ 2022. 6. 30.

 

 

 

웹 프로그래밍

- 웹 프로그래밍 : HTTP(S) 프로토콜로 통신하는 클라이언트 프로그램과 서버 프로그램을 개발하는 것

- 웹 프로그램 : 웹 클라이언트가 요청하고 웹 서버가 응답하는 클라이언트-서버 프로그램 구조

- 웹 브라우저 외에도 telnet, linux curl 등 클라이언트 요청을 전달하는 방식이 있음.

- 웹 클라이언트의 형태가 달라도 동일한 요청에 대해서는 동일한 응답을 받음

 

 

 

HTTP 프로토콜

- HTTP : Hypertext Transfer Protocol

- TCP/IP 프로토콜에서 동작하며 웹 서버와 웹 클라이언트 사이의 데이터 교환을 위해 사용하는 통신 방식

- 웹 서버와 웹 클라이언트는 TCP/IP 동작에 필요한 IP 주소를 반드시 가져야 함

- 1. HTTP 연결

  2. 웹 클라이언트가 웹 서버에 HTTP Request 메시지 전송

  3. 웹 서버는 클라이언트의 요청을 처리

  4. 처리 결과를 웹 클라이언트에게 HTTP Response 메시지로 전송

 

 

 

웹서버와 웹 애플리케이션 서버 구분

- 이전에는 CGI(프로그램과 웹 서버 사이의 정보 교환 기능의 프레임워크) 방식을 사용했으나 
  클라이언트 요청마다 프로세스를 생성하는 비효율적인 방식으로 점차 애플리케이션 서버 방식으로 대체됨

- 정적 페이지는 웹서버가, 동적 페이지는 엡 애플리케이션 서버가 처리하도록 구성
  참고 링크 : https://velog.io/@ssssujini99/Web-Web-Server%EC%99%80-Was%EC%9D%98-%EC%B0%A8%EC%9D%B4

 

[Web] Web Server와 Was의 차이

웹 브라우저(클라이언트)로부터 HTTP요청을 받아 HTML문서와 같은 정적 컨텐츠를 제공하는 프로그램입니다.여기서 정적 컨텐츠란, 요청 인자 값에 상관없이 달라지지 않는 컨텐츠들을 의미합니다

velog.io

- 정적 페이지 : 변동성이 없고 항상 같은 내용을 표시하는 웹페이지

- 동적 페이지 : 동일한 리소스라도 요청에 따라 다른 내용이 반환되는 웹페이지

- 둘은 같은 하드웨어에 위치할 수도 있지만, 대부분 네트워크 장비를 동반하여 분리하는 것이 효율적

 

 

 

WSGI (위스키) 프레임워크

- Django의 기반이 되는 표준 라이브러리

- CGI의 단점을 해결하고 파이썬 언어로 애플리케이션을 좀 더 쉽게 작성할 수 있도록 한
  웹 서버와 웹 애플리케이션 간의 프레임워크

- Apache나 Nginx는 WSGI 처리기능이 없어 mod_wsgi, uWSGI, Gunicorn 등의 WSGI 서버를 이용하여

  WSGI 통신규격을 처리해주어야 함

 

 

 

 

댓글