写程式时要保持这种心态:就好像将来要维护你这些程式的人是一位残暴的精神病患者,而且他知道你住在哪。(Martin Golding)

简单来说,WSGI 提供了一个标准的界面,让 Web 应用程序和 Web 服务器可以独立运作,不用担心它们所在的环境。这样一来,就可以让 Web 应用程序的程式码更加简洁、可携性更好、也更容易维护。

这意味着开发者可以自由选择他们喜欢的 Web 服务器,不必担心和 Web 应用程序的相容性问题。

通常,WSGI 应用程序由一个可呼叫的物件(例如函数或类别的实例)组成,这个物件会接收一个环境变数和一个回呼函数(通常被称为 start_response)作为参数,并回传一个可迭代的回应内容。 Web 服务器会将 HTTP 要求转换为环境变数,然后呼叫 WSGI 应用程序,将回呼函数作为参数传递给它,这样 WSGI 应用程序就可以将回应资料传回给 Web 服务器。

总之,WSGI 提供了一个标准化的界面,让 Python Web 应用程序可以和不同的 Web 服务器进行互动,从而实现 Web 应用程序的可携性、可扩展性和易于开发等优点。