이 기사가 의존하는 python
환경은 다음과 같습니다: python
环境为:
什么是WSGI
WSGI
也称之为web
服务器通用网关接口,全称是web server gateway interface
。它定义了在python
中web
服务器与web
应用程序之间应该如何通信并且处理http
请求和响应的一个标准,注意,它只是一个协议,或者说是规范、标准,你也可以不按这个标准来,就像我们上一篇文章所写的web
服务器那样。
WSGI
也分为应用程序 和 服务器网关, 其中我们熟知的Flask
就是属于应用程序,uWSGI
、wsgiref
属于服务器网关。
个人感觉,WSGI
避免了造轮子,事情让更擅长的人去做,写服务器的,那就写符合WSGI
规范的服务器就好,如果是写应用端的,就写符合WSGI
规范应用就好。不用在重复的写轮子。
除此之外,WSGI
还能与传统web
服务器对接,例如: nginx
、apache
等进行交互。
WSGI对应用程序规定了什么
WSGI
中规定了其应用程序必须是一个可被调用的对象,通常来说,该对象是一个函数或者是一个类。 该对象必须接收2个参数,分别是environ
字典 和 start_response
函数,并且在对象结束前,应该调用start_response
函数。而函数应该传参status
和headers
,其中status
应该定义响应状态码以及短语,headers
应该定义响应头。
如果用代码来阐述的话,应该是这样来写的:
def application(environ, start_response): status = '200 OK' headers = [('Content-type', 'text/plain')] start_response(status, headers) return [b'Hello, world!']
其中,application
是一个可迭代的对象,接受了2个参数,一个是environ
,其类型是字典,还是一个是start_response
,其类型是函数,在application
结束前,应该调用start_response
函数,并且传入status
和headers
值。
修改代码写出符合WSGI标准的web业务层
我们昨天写的代码,将返回一个Hello, Destined Person.
,我们来看下,如果我们使用WSGI
标准来写业务层,我们应该如何定义,并且如何调用WSGI
服务器。
上述,我们引入了一个符合WSGI
的服务器: wsgiref.simple_server
,我们仅需按照WSGI
的标准来编写业务层,也就是上述的application
即可。我们在定义状态码的时候,估计将其设置为299 OK
,在设置请求头的时候,设置了一个Server
为pdudo_web_sites
。
我们使用curl
请求一下服务器。
发现,哦,只要按照WSGI

WSGI란 무엇입니까
🎜WSGI
는 웹
서버 범용 게이트웨이 인터페이스라고도 합니다. 전체 이름은 웹 서버 게이트웨이 인터페이스
입니다. 이는 웹
서버와 python
의 웹
애플리케이션이 http
요청과 통신하고 처리하는 방법을 정의합니다. 이전 기사에서 작성한 웹
서버처럼 이 표준을 따를 필요는 없습니다. 🎜🎜WSGI
도 애플리케이션과 서버 게이트웨이로 구분됩니다. 그 중 잘 알려진 Flask
는 애플리케이션인 uWSGI
, 에 속합니다. wsgiref는 서버 게이트웨이에 속합니다. 🎜🎜개인적으로 <code>WSGI
는 바퀴를 재발명하는 것을 피하고 작업을 더 잘하는 사람들이 할 수 있도록 합니다. 서버를 작성하는 경우 WSGI
사양을 준수하는 서버를 작성하면 됩니다. 애플리케이션을 작성하는 경우 WSGI
사양을 준수하는 애플리케이션을 작성하세요. 휠을 반복해서 쓸 필요가 없습니다. 🎜🎜또한 WSGI
는 nginx
, apache
와 같은 기존 웹
서버와 연결할 수도 있습니다. 등 상호 작용합니다. 🎜🎜
WSGI 애플리케이션 프로그램이 규정하는 것
🎜WSGI
는 애플리케이션이 호출 가능한 객체여야 한다고 규정합니다. 일반적으로 객체는 함수입니다. 아니면 수업. 이 객체는 environ
사전과 start_response
함수라는 2개의 매개변수를 받아야 하며, start_response
함수는 객체가 끝나기 전에 호출되어야 합니다. 함수는 status
및 headers
매개변수를 전달해야 하며, 여기서 status
는 응답 상태 코드 및 구문과 headers
를 정의해야 합니다. 응답 헤더를 정의해야 합니다. 🎜🎜코드로 설명한다면 다음과 같이 작성해야 합니다:🎜rrreee🎜그 중 application
은 2개의 매개변수를 허용하는 반복 가능한 객체입니다. 하나는 environ code>이고, 해당 유형은 사전 또는 <code>start_response
이고 해당 유형은 application
이 끝나기 전에 start_response
함수를 호출해야 합니다. 상태
및 헤더
값을 전달합니다. 🎜WSGI 표준을 준수하는 웹 비즈니스 레이어를 작성하도록 코드 수정
🎜어제 작성한 코드는Hello, Destined Person.
을 반환합니다. 우리는 WSGI
표준을 사용하여 비즈니스 레이어를 작성하고, 어떻게 정의해야 하며 WSGI
서버를 호출하는 방법을 설명합니다. 🎜🎜
WSGI
: wsgiref.simple_server
를 준수하는 서버를 도입했습니다. WSGI
표준에 따라 비즈니스 계층만 작성하면 됩니다. 위의 애플리케이션
이면 충분합니다. 상태 코드를 정의할 때 아마도 299 OK
로 설정했을 것입니다. 요청 헤더를 설정할 때 Server
를 pdudo_web_sites
로 설정했습니다. 🎜🎜우리는 서버를 요청하기 위해 curl
을 사용합니다. 🎜🎜
WSGI
사양에 따라 작성하면 간단한 서버를 쉽게 작성할 수 있습니다. 🎜위 내용은 Python WSGI 응용 프로그램의 원리는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Python은 게임 및 GUI 개발에서 탁월합니다. 1) 게임 개발은 Pygame을 사용하여 드로잉, 오디오 및 기타 기능을 제공하며 2D 게임을 만드는 데 적합합니다. 2) GUI 개발은 Tkinter 또는 PYQT를 선택할 수 있습니다. Tkinter는 간단하고 사용하기 쉽고 PYQT는 풍부한 기능을 가지고 있으며 전문 개발에 적합합니다.

Python은 데이터 과학, 웹 개발 및 자동화 작업에 적합한 반면 C는 시스템 프로그래밍, 게임 개발 및 임베디드 시스템에 적합합니다. Python은 단순성과 강력한 생태계로 유명하며 C는 고성능 및 기본 제어 기능으로 유명합니다.

2 시간 이내에 Python의 기본 프로그래밍 개념과 기술을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우기, 2. 마스터 제어 흐름 (조건부 명세서 및 루프), 3. 기능의 정의 및 사용을 이해하십시오. 4. 간단한 예제 및 코드 스 니펫을 통해 Python 프로그래밍을 신속하게 시작하십시오.

Python은 웹 개발, 데이터 과학, 기계 학습, 자동화 및 스크립팅 분야에서 널리 사용됩니다. 1) 웹 개발에서 Django 및 Flask 프레임 워크는 개발 프로세스를 단순화합니다. 2) 데이터 과학 및 기계 학습 분야에서 Numpy, Pandas, Scikit-Learn 및 Tensorflow 라이브러리는 강력한 지원을 제공합니다. 3) 자동화 및 스크립팅 측면에서 Python은 자동화 된 테스트 및 시스템 관리와 같은 작업에 적합합니다.

2 시간 이내에 파이썬의 기본 사항을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우십시오. 이를 통해 간단한 파이썬 프로그램 작성을 시작하는 데 도움이됩니다.

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

Python 3.6에 피클 파일로드 3.6 환경 보고서 오류 : modulenotfounderror : nomodulename ...


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

드림위버 CS6
시각적 웹 개발 도구
