본문 바로가기

Web7

전통적인 Web-DB 구조에서 Web-WAS(API)-DB 아키텍처로의 전환 전통적인 web-db 구조 대신 web-was(api)-db 구조로 운영하는 것은 여러 보안 이점이 있습니다. 이러한 아키텍처는 분리된 레이어를 통해 보안을 강화하며, 각 레이어가 서로 다른 보안 요구 사항과 위험을 관리할 수 있도록 합니다. 특히 API를 사용하는 경우, 보안 위험을 줄이고 보안 설정의 정확성을 높일 수 있습니다. 관리의 용이성: WEB/WAS 구조에서는 웹 서버와 WAS가 분리되어 있어 서버 관리 및 장애 대응이 더욱 용이합니다. 웹 서버와 WAS의 역할이 구분되어 있기 때문에 관리 및 유지보수가 더 쉽고, 장애 발생 시 대처 방안도 명확해집니다. 안정성 및 가용성: 이중화를 통해 안정성을 높일 수 있습니다. 웹 서버와 WAS가 분리되어 있으면, 하나의 시스템에 문제가 발생해도 다른 .. 2024. 3. 11.
동적 환경에 유연성과 확장성 갖춘 고성능 OpenResty 웹서버 활용 OpenResty는 Nginx 웹 서버를 기반으로 한 고성능 웹 애플리케이션 서버 솔루션입니다. Nginx는 경량이면서도 높은 성능을 제공하는 웹 서버 및 리버스 프록시 서버로 널리 알려져 있습니다. OpenResty는 이 Nginx에 Lua 언어를 통합하여 확장성과 유연성을 높인 것이 특징입니다. 다음은 OpenResty와 Nginx의 주요 차이점에 대한 몇 가지 포인트입니다. Lua 언어 통합 OpenResty는 Nginx에 Lua 프로그래밍 언어를 통합하여 사용자가 동적 콘텐츠를 생성하고 다양한 작업을 수행할 수 있도록 합니다. Nginx 자체는 기본적으로 정적인 콘텐츠를 서빙하는 데 중점을 두지만, OpenResty를 사용하면 Lua 코드를 이용하여 동적인 처리를 추가할 수 있습니다. 모듈과 라이.. 2023. 12. 25.
Jinja2 템플릿 언어 동작원리 이해와 간단한 웹 화면 구성 우선 Jinja2에 대해 간단하게 설명하겠습니다. 1. Jinja2는 무엇인가요? Jinja2는 Python에서 사용되는 템플릿 엔진 중 하나입니다. 템플릿 엔진은 정적인 부분과 동적인 데이터를 결합하여 동적인 결과물을 생성하는 도구입니다. 2. 어떤 역할을 하는 건가요? Jinja2의 주된 역할은 HTML과 같은 문서를 만들 때, 문서의 일부를 동적으로 변환하는 데 있습니다. 정적인 부분은 그대로 두고, 특정 부분을 변경하거나 반복되는 패턴을 생성할 수 있도록 도와줍니다. 3. 어떻게 동작하나요? Jinja2는 템플릿 안에 삽입된 특별한 문법을 해석하여 동적인 부분을 채워넣습니다. 중괄호({{ }}) 안에 변수를 넣으면 해당 변수의 값으로 치환되고, 중괄호와 퍼센트({% %}) 사이에는 제어 구조(반복.. 2023. 12. 19.
용도별 서버 분리 및 내부망(LAN, Local Area Network)과 외부망(WAN, Wide Area Network) 웹(Web)과 웹 애플리케이션 서버(WAS)를 분리해야 하는 근거는 주로 보안 및 성능 측면에서 나타납니다. 다양한 기업 및 기관에서 웹과 WAS를 분리하여 운영하는 이유는 다음과 같습니다. 보안 강화 웹과 WAS를 분리함으로써 공격 대상이 되는 피해를 최소화할 수 있습니다. 웹 서버는 클라이언트와의 통신 및 정적 콘텐츠 제공에 중점을 두며, WAS는 동적 콘텐츠를 처리합니다. 이를 통해 웹 서버에서의 보안 강화 및 공격 표적을 줄일 수 있습니다. 부하 분산 및 성능 최적화 웹과 WAS를 분리하면 부하 분산을 적용하기 쉽습니다. 웹 서버는 정적 콘텐츠를 처리하고, 동적 콘텐츠는 WAS에서 처리하므로, 부하 분산을 통해 트래픽을 효과적으로 관리하고 성능을 최적화할 수 있습니다. 모듈화 및 유지보수 용이성 .. 2023. 12. 9.
Nginx, Gunicorn(WSGI), Django 동작 원리 WSGI(Web Server Gateway Interface)와 관련하여, 웹 애플리케이션 서버의 동작 방식과 역할에 대한 설명을 요약 및 정리해보겠습니다. WSGI의 등장 배경 초기에는 웹 서버만 있었으며, 정적인 파일만 처리 가능했음. 동적인 요청에 대한 처리 필요성 증가. CGI(Common Gateway Interface) 등장: 파이썬 어플리케이션 서버의 동작 방식 정의. CGI는 요청마다 파이썬 스크립트를 처음부터 실행하여 처리하는 방식이어서 성능 이슈 발생. WSGI의 등장과 WSGI 서버(Gunicorn, uWSGI) WSGI(Web Server Gateway Interface) 등장: 웹 서버와 파이썬 어플리케이션 간의 통신 규약. WSGI 서버 필요: 클라이언트의 요청을 받아 WSGI .. 2023. 8. 23.