当前位置: 首页 > news >正文

集团网站WordPress图片分享社区

集团网站,WordPress图片分享社区,无锡网站制作服务,网站制作什么品牌好WSGI Python Web Server Gateway Interface 规范学习 由于Python的灵活性#xff0c;提供了多种方式可以作为服务端语言#xff0c;包括Python编写的服务器#xff08;Medusa#xff09;、Python处理模块#xff08;mod_python)#xff0c;或者使用CGI、FastCGI方式触发…WSGI Python Web Server Gateway Interface 规范学习 由于Python的灵活性提供了多种方式可以作为服务端语言包括Python编写的服务器Medusa、Python处理模块mod_python)或者使用CGI、FastCGI方式触发Python脚本。 为了能够编写更通用的Web端程序提出了WSGI接口作为标准接口规范类似于Java中的Serverlet一旦编写完成后可以运行在不同的App框架中。 WSGI接口涉及两个方面一面是服务器(server)或网关(gateway)相对别一面是应用程序(application)或框架(framework)。服务端运行由应用程或框架提供的可执行的对像实例至于这个可执行对象的是如果获得的细节不在WSGI规范定义之内而是同server或gataway去处理。 Application/Framework 端 Application端是一个callable term可以是function、class、method等接收两个参数environ、start_response。当application被server调用时必须返回一个iterable的bytestrings或者是zero可以使用yield返回一个生成器。 WSGI 是为框架或服务器开发人员提供的工具而不是为应用人员提供的。 When called by the server, the application object must return an iterable yielding zero or more byte strings. 服务器调用时应当以无缓存的形式将产生的内容发送给客户端。 方法len()、close() Server/Gateway 端 中间件 Middleware 扮演两个角色 Middleware常扮演以下角色 根据目标URL将请求路由到不同的Application进行处理允许多个Application或Framework运行在相同的进程中通过网络内的请求转发实现负载均衡和远程处理实现内容的后续处理例如XSL样式表 中间件的存在对于服务端和应用端应该都是透明的。 environ 变量 environ 是一个字典变量。 变量名备注REQUEST_METHODHTTP请求方法GET、POST、PUT不能为空SCRIPT_NAME脚本名称可以为空PATH_INFO请求URL中的一部分可以为空QUERY_STRING请求URL中问号之后的部分可以为空CONTENT_TYPE请求中的Content_Type字段可以为空CONTENT_LENGTH请求中的Content_Length可以为空SERVER_NAME , SERVER_PORT不能为空SERVER_PROTOCOL客户端发送请求采用的协议及版本HTTP_ 变量客户端请求头中的参数可以为空 CGI方式需要提供的参数略有不同具体可以参考PEP3333 A WSGI-compliant server or gateway should document what variables it provides, along with their definitions as appropriate. Applications should check for the presence of any variables they require, and have a fallback plan in the event such a variable is absent. Input、Error流 服务器端必须支持以下几个方法 方法流read(size)Inputreadline()Inputreadlines(hint)Inputiter()Inputflush()errorswrite(str)errorswritelines(seq)errors start_response() 方法示例start_response(status, response_headers, exec_info None)。 start_response 接收两个参数start_response(status, response_headers)status是状态返回信息诸如“200 OK”或者“404 Not Found”纯文本不能包含任何控制符号。response_headers是一个形如(header_name, header_value)的tuples必须是Python的List。header_name必须是RFC2616中定义的名称header_value不包含结束符号及任何控制符号包括换行等。 一般来说服务器端负责确保发送的header的正确性如果应用忽略了某个http头参数那么服务器应该给补充进去。 服务端应该检查是否向客户端发送了保持链接的头参数如果发现应该抛出错误。 Content-Length 头的处理 如果应用端提供了 Content-Length 请求头服务端不应当传递超过这个长度的内容。处理方式是停止发送内容或产生一个报错。如果没有提供足够的内容则应正常关闭链接不产生错误。 如果没有提供 Content-Length 头则服务端可以自己决定采用哪种处理方式最简单的就是响应结束后关闭链接。某些情况下服务端可以自己产生 Content-Length , 或者尽量避免关闭链接。如果服务端和客户端都支持 HTTP/1.1 分块编码则服务端需要为每个块提供一个 Content-Length。 缓存和流处理 Buffering and Streaming write() callable 一些编程框架提供了缓存的 write() 函数以及一个 flush() 函数用于刷新缓存但是很遗憾标准的WSGI无法实现这个需求。但WSGI仍提供了一个特殊 write() 函数来实现这些迫切的需求。 write() 由 start_response 返回接收一个参数。一个应用必须返回一个 iterable 对象。 错误处理
http://www.yutouwan.com/news/162066/

相关文章:

  • 建设旅游网站的功能定位电子商务公司的名字
  • 合租网站设计怎样上传wordpress模板
  • 新西兰网站开发专业哪里有网络推广
  • 网站建设实习目的门户网站的建设与维护
  • 高端网站哪个比较好北京市信息网
  • 公司网站制作有哪些注意事项百度软文推广怎样收费
  • 做网站都有跳转链接如何在百度做网站推广
  • 做网站好还是网页好如何成为网页设计师
  • wordpress增加产品模块魔方优化大师官网
  • 品牌建站创立一个公司需要多少钱
  • 集团企业网站建设方案中企动力近期做的网站
  • 哪个网站做logo设计师项目管理师pmp报考条件
  • 专做眼镜的网站工邦邦官网
  • 如何学做网站外包贵州seo和网络推广
  • 最新网站域名通辽做家教的网站
  • 如何做简洁网站手机网站定制方案
  • 毕业设计 建设网站新冠最新消息实时动态
  • 90设计网站官网首页网站建设的费用明细
  • 用wordpress做答题网站做网站市场分析
  • 个人免费网站申请注册php网站开发
  • 银川网站设计怎么样百度推广渠道户
  • 网站地图后缀wordpress 后台列表
  • 手机软件开发平台网页seo如何优化
  • 查一下红之易道学做的什么网站上海浦东建筑建设网站污水处理工程
  • 门户网站底部小程序商城系统平台
  • 辛集网站建设精能集团有限公司两学一做网站
  • 郑州网站制作服务半成品网站
  • 网站策划与建设阶段的推广方法做销售如何在网站上搜集资料
  • 网站建设对电子商务的作用wordpress域名搬家
  • 安阳市城乡建设规划局网站郑州网站建设定制开发