이번 강의에서는 웹 서버를 사용하는 것과 웹 애플리케이션 서버를 만들어서 사용하는 것에 어떤 차이점이 있는지 알아보려한다.
웹 서버를 사용할때는 1.html, 2.html처럼 내가 필요로 한 페이지들을 미리 만들어놔야 한다.
그러나 웹 애플리케이션 서버를 사용하면 웹 페이지를 생성하는 공장이라고 할 수 있는, 프로그램을 하나만 만들어 놓으면 되는 views.py 같은 파이썬 스크립트를 이용하면 된다.
웹 서버는 사용자가 접속할때 미리 준비되어있는 페이지로 접속을 한다.
그러나 웹 애플리케이션 서버에서는 사용자가 접속할때 예를 들어 /read/1/로 접속하면 1번에 해당하는 데이터를 데이터베이스 같은 곳에서 가지고 와 그 순간에 html 코드를 응답하게 만드는 것이다.
이런 특성때문에 웹 서버를 정적 (static) 이라 하고 웹 애플리케이션 서버를 동적 (dynamic) 이라고 부른다.
각각 장단점이 있는데, 웹 서버 같은 경우에는 준비돼있는 것을 쓰니까 성능이 굉장히 빠르다.
그리고 배워야할 것이 없다.
반면에 웹 애플리케이션 서버는 웹 서버에 비해서 굉장히 느리다.
그리고 공부할게 굉장히 많다.
그럼에도 불구하고 웹 애플리케이션 서버는 유지보수 하기도 편하고, 사용자의 요청이 들어올 때마다 웹 페이지를 생성하기 때문에 개인화된 정보를 만들어줄 수 있다.
다음으로는 웹 애플리케이션 서버의 동적인 특성을 한번 보려고 한다.
오른쪽은 내가 각각의 접속 경로에 맞게 여러가지 함수를 만든 views.py 파일이고, 왼쪽은 실제로 서버를 켜서 접속을 한 페이지다.
그런데 홈으로 접속이 들어올때마다 똑같이 welcome을 띄워줄거면 웹 서버를 사용하면 되지 굳이 웹 애플리케이션 서버를 필요가 없지 않을까?
그래서 뭘 해볼거냐면, 접속이 들어올때마다 랜덤한 정보를 동적으로 만들어주는 웹 애플리케이션을 만들어보려한다.
이렇게 random 모듈을 import 해주고 return 부분에 random을 사용해주면 보는 것과 같이 페이지를 새로고침 할때마다 랜덤한 수가 생성된다.
이처럼 웹 애플리케이션을 사용하면 굉장히 동적이고 사용자의 요청에 즉각적으로 반응해주는 웹 페이지를 만들 수 있다.