• 회원가입
  • 로그인
  • 구글아이디로 로그인

[web] ASGI 서버 개념

1,810  

ASGI 서버 

1. ASGI 정의

 

  • ASGI(Asynchronous Server Gateway Interface)는 비동기 웹 애플리케이션을 위한 서버와 프레임워크 간의 표준 인터페이스임. 
  • ASGI는 WSGI(웹 서버 게이트웨이 인터페이스)의 확장으로, 주로 Python에서 비동기 웹 애플리케이션을 구축하기 위해 사용됨.
  • ASGI 서버는 비동기적으로 요청을 처리하고 응답을 생성할 수 있는 서버를 의미함. 이는 대량의 동시 연결을 다루거나 긴 지속적인 연결을 처리하는 데 특히 유용함.



2. ASGI의 특징과 동작 방식


  1. 비동기 처리: ASGI는 비동기 처리를 지원하여 여러 클라이언트의 동시 요청을 처리할 수 있음. 이는 높은 동시성을 갖는 웹 애플리케이션에서 성능 향상을 가져옴.
  2. 웹 소켓 및 긴 연결 지원: ASGI는 웹 소켓과 같은 실시간 통신을 지원하며, 긴 지속적인 연결을 효과적으로 다룰 수 있음.
  3. 이벤트 루프 사용: ASGI 서버는 이벤트 루프를 사용하여 비동기 이벤트를 효율적으로 처리함. 이는 IO(=입출력) 바운드 작업을 효율적으로 처리할 수 있도록 함.
  4. Middleware 및 라우팅: ASGI는 미들웨어 및 라우팅을 지원하여 요청 및 응답을 처리하는 중간 계층을 구성 가능함.


PS.

  • 가장 많이 사용되는 ASGI 서버 중 하나는 Uvicorn으로, Uvicorn은 FastAPI와 같은 ASGI 애플리케이션을 실행하는 데 사용되며, Python의 비동기 기능을 활용하여 성능을 최적화 함.
  • ASGI는 Django, Starlette, FastAPI 등과 같은 웹 프레임워크에서 활용되고 있음.

 

 


분류 제목
web 코딩/프로그래밍 배우려는 (사람 유형별 / 공부 목적별) 공부 시작 언어 추천
web 선호하는 프로그래밍 언어별 연애 스타일
web 카카오톡 오픈 채팅방 만들기
web 크롬에서 화면 클릭 시 커서 (= 세로 검은선/검정선/검은색/검정색/세로막대) 깜빡깜빡임 증상 (제거/없애기…
web (빌더/테마/스킨/플러그인) 제작 배포 시 필수 명시 사항
web 사용자 입력값 받아 표시하기 시스템 이해하기
web 이클립스 (게터/세터/생성자) 생성. (Eclipse Getter/Setter/Constructor Crea…
web (그누커머스, 그누프레스, 그누페이) 업데이트 중단 안내
web SEO (검색 엔진 최적화) 관련 작업사항.
web 네이티브 앱 (Native App) / 웹 앱 (Web App) / 하이브리드 앱 (Hybrid App)
web 이클립스 (글꼴 / 글자 크기 = 폰트 사이즈) 조정. (Eclipse Font Size Control)
web 아나콘다 쥬피터 단축키 (Anaconda Jupyter Shortcut Key)
web 유챗 - 회원만/특정레벨만 채팅 가능 설정.
web 코드 리뷰 시 점검사항
web 구글 (드라이브 + 문서 + 프리젠테이션)
web F12 (개발자모드) console (콘솔) + SSH콘솔 + CMD모드 등에서 위에서 작성한 내용을 그대로…
web F12 (개발자모드) console (콘솔)창 열기 ★ + 한줄 밑으로 이동해 내려쓰기
web 유튜브 댓글 작성 특수기호 - (해시태그/재생시간링크/굵게/기울게/취소선)
web 코드펜 같은 웹 개발 도구 사이트 모음 ※ 코딩 결과물 바로 확인 + Emmet 에밋 (= 빠른코딩/단축코딩…
web XSS 취약점 해결
5/19
목록
찾아주셔서 감사합니다. Since 2012