第4节 web服务器案例

URI:Uniform Resource Identifier,即统一资源标志符,用来唯一的标识一个资源。

URL:Uniform Resource Locator,统一资源定位符。即URL可以用来标识一个资源,而且还指明了如何locate这个资源。

URN:Uniform Resource Name,统一资源命名。即通过名字来表示资源的。

查询字符串:?开头,参数对之间&连接

WSGI

WSGI允许开发者将选择web框架和web服务器分开。可以混合匹配web服务器和web框架,选择⼀个适合的配对。⽐如,可以在Gunicorn 或者Nginx/uWSGI 或者 Waitress上运⾏ Django, Flask, 或 Pyramid。真正的混合匹配,得益于WSGI同时⽀持服务器和架构。

def application(environ, start_response):

    start_response('200 OK', [('Content-Type', 'text/html')])

    return 'Hello World!'

上⾯的 application()  函数就是符合WSGI标准的⼀个HTTP处理函数,它接收两个参数:

environ:⼀个包含所有HTTP请求信息的dict对象;

start_response:⼀个发送HTTP响应的函数。


一些代码:

获得文件运行时的参数

sys.path.insert(1, WSGI_PYTHON_DIR)

    if len(sys.argv) < 2:

    sys.exit("python MyWebServer.py Module:app")

# python MyWebServer.py  MyWebFrameWork:app

module_name, app_name = sys.argv[1].split(":")

动态导入一个类

m = __import__(module_name)

app = getattr(m, app_name)

http_server = HTTPServer(app)

Application(object)中的call类:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • (原话)谈谈对HTTP协议的理解:超文本传输协议,应用于OSI网络模型中的应用层,是用于服务器传输超文本到本地浏览...
    24_yu阅读 1,053评论 0 1
  • 原文链接:http://www.jianshu.com/p/80e25cb1d81a HTTP简介 HTTP协议是...
    悬笔e绝阅读 539评论 0 0
  • HTTP 简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是...
    Gundy_阅读 229评论 0 5
  • HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用...
    许小小晴阅读 340评论 0 2
  • HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用...
    DCbryant阅读 219评论 0 0

友情链接更多精彩内容