web开发

RESTful-1概述

故事扮演 提交于 2020-03-25 06:34:49
一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。 概述 REST(英文:Representational State Transfer,简称REST)描述了一个架构样式的网络系统,比如 web 应用程序。它首次出现在 2000 年 Roy Fielding 的博士论文中,Roy Fielding是 HTTP 规范的主要编写者之一。在目前主流的三种Web服务交互方案中,REST相比于SOAP(Simple Object Access protocol,简单对象访问协议)以及XML-RPC更加简单明了,无论是对URL的处理还是对Payload的编码,REST都倾向于用更加简单轻量的方法设计和实现。值得注意的是REST并没有一个明确的标准,而更像是一种设计的风格。 [1] 原则条件 REST 指的是一组架构 约束条件 和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。 Web 应用程序最重要的 REST 原则是,客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在请求之间的任何时间点重启,客户端不会得到通知。此外,无状态请求可以由任何可用服务器回答,这十分适合 云计算 之类的环境

web框架

早过忘川 提交于 2020-03-25 03:52:20
Web框架 (Web framework) 是一种开发框架,用来支持动态网站,网络应用和网络服务的开发.这大多数的web框架提供了一套开发和部署网站的方式,也为web行为提供了一套通用的方法.we框架已经实现了很多功能,开发人员使用框架提供的方法并且完成自己的业务逻辑,就能快速开发web应用了.浏览器和服务器的是基于http协议进行通信的.也可以说web框架就是在以上十几行代码基础上扩展出来的,有很多简单方便使用的方法,大大提高了开发的效率. wsgiref模块 最简单的Web应用就是先把HTML用文件保存好,用一个现成的http服务器软件,接收用户请求,从文件中读取HTML,返回. 如果要动态生成HTML,就需要把上述步骤自己来实现.不过,接收http请求,解析http请求,发送http响应需要一个统一的接口协议来实现这样的服务器软件,这个接口就是WSGI: Web Server Gateway Interface.而wsgiref模块就是python基于wsgi协议开发的服务模块. from wsgiref.simple_server import make_server def application(environ, start_response): start_response('200 OK', [('Content-Type', 'text/html')])

Web 开发规范 — WSGI

眉间皱痕 提交于 2020-03-24 23:17:04
目录 目录 WSGI 简介 为什么需要 WSGI 这个规范 WSGI 如何工作 WSGI的角色 Server 如何调用 Application application 的两个参数 application 对象的返回值 再谈Server如何调用application WSGI 中间件 WSGI的实现和部署 参考资料 WSGI 简介 WSGI(Web Server Gateway Interface) Web 服务器网关接口。 从名称上来看WSGI就是一个网关,作用就是在协议之间进行转换。具体而言,WSGI 是一个规范,它遵循这种规范将一个Web组件抽象成三个部件层: Web Server + Web Middleware + Web Application 。除此之外,它还定义了 Web Server 如何与 Python 写的 Web Application进行交互,使得 Python 写的 Web Application 可以和 Web Server 能够对接起来。现在一般会使用 Apache + wsgi_mod 的组合来实现Web Services。 为什么需要 WSGI 这个规范? 在 Web Services 处理方案中,有一个方案是目前应用最广泛的: - 部署一个 Web Server(Apache) 专门用来处理 HTTP 协议层面相关的事情,EG. 如何在一个

Web开发---路由实现

一曲冷凌霜 提交于 2020-03-24 23:01:35
类Flask框架实现 路由route 路由功能实现 路由类实现 #路由 # url = 'http://127.0.0.1:9999/python/index.html?id=5&name=wayne&age=20' # path = '/python/index.html' class Router: ROUTETABLE = {} def register(self,path,handler): self.ROUTETABLE[path] = handler def indexhandler(request): return '<h1>欢迎来到index.html</h1>' def pythonhandler(request): return "<h1>欢迎来到python.html</h1>" router = Router() router.register('/',indexhandler) router.register('/python',pythonhandler) 404处理 注册函数的改造 将注册函数改造成装饰器 class Router: ROUTETABLE = {} @classmethod #注册路由,装饰器 def register(cls,path): def wrapper(handler): cls.ROUTETABLE[path] =

web框架

喜你入骨 提交于 2020-03-24 21:48:11
Web框架本质   众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端。 #!/usr/bin/env python #coding:utf-8 import socket def handle_request(client): buf = client.recv(1024) client.send("HTTP/1.1 200 OK\r\n\r\n") client.send("Hello, Seven") def main(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind(('localhost',8000)) sock.listen(5) while True: connection, address = sock.accept() handle_request(connection) connection.close() if __name__ == '__main__': main() 上述通过socket来实现了其本质,而对于真实开发中的python web程序来说,一般会分为两部分:服务器程序和应用程序。服务器程序负责对socket服务器进行封装,并在请求到来时,对请求的各种数据进行整理。应用程序则负责具体的逻辑处理

Web应用和Web框架

百般思念 提交于 2020-03-24 21:47:14
一、Web应用本质 任何Web应用实际上都是一个Socket服务端,浏览器就是Web应用的客户端。一个最简单的Web应用就是写好一个HTML的文档,然后用现成的HTTP服务器软件如Nginx、Apache、Tomcat等区接收用户请求,再把HTML文档中的内容 通过万维网传送给客户端。但是这样只能给客户端发送同一个HTML文档的内容,如果要动态生成HTML就需要我们自己去做接收HTTP请求、解析HTTP请求、从HTTP请求中获取到需要的信息后生成一个新的HTML、发送一个HTTP响应将动态生成的HTML传送给客户端。由于HTTP协议是一个很深奥的协议,它有很多内容,如果以上这些事情都有我们自己来完成就需要研究HTTP协议,这样就太影响开发效率了,为了解决这个问题就有了CGI通用网关接口,它帮助我们完成对HTTP协议的接收、解析以及最后的响应,让我们可以专心写Web业务代码,针对Python实现的CGI之一就是WSGI。 二、wsgiref模块 wsgiref模块的simple_server中的make_server类可以让我简单实现一个Web服务器,该类实例化需要三个参数,服务器IP、服务器端口、请求处理函数,其中请求处理函数有两个参数一个environ包含一个请求的所有信息以键值对形式存放,start_response定义响应头信息,函数中需要返回一个响应正文中的数据

CentOS7部署Zabbix4

让人想犯罪 __ 提交于 2020-03-24 16:24:06
1.  Zabbix 介绍   1.1  概述   Zabbix 由 Alexei Vladishev 创建,目前由其成立的公司—— Zabbix SIA 积极的持续开发更新维护, 并为用户提供技术支持服务。 Zabbix 是一个企业级分布式开源监控解决方案。 Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。这些功能使得 Zabbix 成为容量规划的理想选择。 Zabbix 支持主动轮询(polling)和被动捕获(trapping)。Zabbix所有的报表、统计数据和配置参数都可以通过基于 Web 的前端页面进行访问。基于 Web 的前端页面确保您可以在任何地方访问您监控的网络状态和服务器健康状况。适当的配置后,Zabbix 可以在监控 IT 基础设施方面发挥重要作用。无论是对于有少量服务器的小型组织,还是拥有大量服务器的大企业而言,同样适用。 Zabbix 是免费的。Zabbix 是根据 GPL 通用公共许可证的第二版编写和发布的。这意味着产品源代码是免费发布的,可供公共使用。   1.2  zabbix功能 Zabbix 是一个高度成熟完善的网络监控解决方案,一个的软件包中包含了多种功能。

API& Web API

我们两清 提交于 2020-03-24 09:57:58
API (Application Programming Interface, 应用程序 编程接口)是一些预先定义的 函数 ,目的是提供 应用程序 与开发人员基于某 软件 或硬件得以访问一组 例程 的能力,而又无需访问源码,或理解内部工作 机制 的细节。 API函数包含在Windows系统目录下的 动态连接库 文件中。Windows API是一套用来控制 Windows 的各个部件的外观和行为的预先定义的Windows函数。用户的每个动作都会引发一个或几个函数的运行以告诉Windows发生了什么。这在某种程度上很像 Windows 的天然 代码 。而其他的 语言 只是提供一种能自动而且更容易的访问API的方法。当你点击 窗体 上的一个 按钮 时,Windows会发送一个消息给 窗体 ,VB获取这个调用并经过分析后生成一个特定事件。 Web API 是网络应用程序接口。包含了广泛的功能,网络应用通过API接口,可以实现存储服务、消息服务、计算服务等能力,利用这些能力可以进行开发出强大功能的web应用。 当你遇到以下这些情况的时候,就可以考虑使用Web API了。 需要Web Service但是不需要SOAP 需要在已有的WCF服务基础上建立non-soap-based http服务 只想发布一些简单的Http服务,不想使用相对复杂的WCF配置 发布的服务可能会被带宽受限的设备访问

servlet的执行原理与生命周期

依然范特西╮ 提交于 2020-03-24 08:12:15
3 月,跳不动了?>>> 一、先从servlet容器说起:大家最为熟悉的servlet容器就是Tomcat ,Servlet 容器是如何管理 Servlet? 先看一下tomcat的容器模型: 从上图可以看出 Tomcat 的容器分为四个等级,真正管理Servlet 的容器是Context 容器,一个 Context 对应一个 Web 工程 Tomcat 的容器等级中,Context 容器是直接管理 Servlet 在容器中的包装类Wrapper(StandardWrapper)的容器,所以 Context 容器如何运行将直接影响 Servlet 的工作方式。 这里解释一下servlet的包装类:StandardWrapper,这里有个疑问,为什么要将 Servlet 包装成 StandardWrapper 而不直接是 Servlet 对象。因为StandardWrapper 是 Tomcat 容器中的一部分,它具有容器的特征,而 Servlet 为一个独立的 web 开发标准,不应该强耦合在 Tomcat 中。 除了将 Servlet 包装成 StandardWrapper 并作为子容器添加到 Context 中,其它的所有 web.xml 属性都被解析到 Context 中,所以说 Context 容器才是真正运行 Servlet 的 Servlet 容器。一个 Web

Web Service 的工作原理

六眼飞鱼酱① 提交于 2020-03-24 08:07:20
3 月,跳不动了?>>> Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。 XML:(Extensible Markup Language)扩展型可标记语言。面向短期的临时数据处理、面向万维网络,是Soap的基础。 Soap:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service 的通信协议。当用户通过UDDI找到你的WSDL描述文档后,他通过可以SOAP调用你建立的Web服务中的一个或多个操作。SOAP是XML文档形式的调用方法的规范,它可以支持不同的底层接口,像HTTP(S)或者SMTP。 WSDL:(Web Services Description Language) WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。 UDDI (Universal Description, Discovery, and Integration) 是一个主要针对Web服务供应商和使用者的新项目