ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 장고를 사용하는 이유
    백엔드 : 서버공부/Django 2023. 7. 29. 12:57
    728x90

    이번에는 Web Server를 사용하는것과 Web Application Server를 만들어서 사용하는 것의 차이에대해 공부해보겠습니다.

     

                                 Web Server                                                                            Web Application Server

    apache, nginx, IIS django, flask, php, jsp, ROL

    차이점

    STATIC

    • Web Server를 사용할때는 1html, 2html과 같은 페이지를 미리 만들어 두어야합니다.
    • Web Server에 ****사용자가 접속시에 미리준비되어 있는 페이지로 접속을 하게 됩니다.
    • 준비되어있는 것을 사용하므로 성능이 빠릅니다.

    DYNAMIC

    • Web Application Server를 사용할 때는 웹페이지를 생성하는 공장이라고 할 수 있는 view.py와 같은 프로그램을 하나만 만들어 두면 됩니다.
    • Web Application Server를 사용자가 접속할때 해당 주소에해당하는 데이터를 데이터베이스에서 가지고와서, 그 순간에 html코드를 만들어 응답하게 됩니다.
    • Web Server에 비해 ****굉장히 느립니다.
    • 유지보수하기에 용이합니다.
    • 개인화된 정보를 만들어줄 수 있습니다.

    동적인 특성을 보여줄만한 예시를 살펴보겠습니다.

    기존의 views.py를 수정해서 사용자가 접속할때 마다 랜덤한 정보를 보여주는 Web Application을 만들어보도록 하겠습니다.

    from django.shortcuts import render, HttpResponse
    
    # Create your views here.
    def index(request):
        return HttpResponse('Welcome!')
    
    def create(request):
        return HttpResponse('Create')
    
    def read(request, id):
        return HttpResponse('Read!'+id)
    

    위 코드은 기존의 views.py의 코드입니다.

    아래와같이 수정해줍니다.

    from django.shortcuts import render, HttpResponse
    import random
    
    # Create your views here.
    def index(request):
        return HttpResponse('<h1>Random</h1>'+str(random.random()))
    
    def create(request):
        return HttpResponse('Create')
    
    def read(request, id):
        return HttpResponse('Read!'+id)
    

    수정을한 후 http://127.0.0.1:8000/myapp/ 에 접속을해봅니다.

     

    이렇게 접속을 할때마다 랜덤한 숫자가 나타나게 되는 것을 확인할 수 있습니다.

    페이지에 오른쪽 마우스를 클릭해 소스코드를 보게되면 접속때마다 만들어지는 코드를 확인할 수 있습니다.

    이것은 정적인 Web Server는 할 수 없는일입니다.

    '백엔드 : 서버공부 > Django' 카테고리의 다른 글

    장고 읽기 구현 2  (0) 2023.07.29
    장고 읽기 구현 1  (0) 2023.07.29
    장고 라우팅  (0) 2023.07.29
    장고 앱 만들기  (0) 2023.07.29
    포트의 개념  (0) 2023.07.29
Designed by Tistory.