首页
学习
活动
专区
圈层
工具
发布

PythonWebServer如何同时处理多个请求

源于知乎上一个问题:https://www.zhihu.com/question/56472691/answer/293292349 对于初学Web开发,理解一个web server如何能同事处理多个请求很重要...当然更重要的是,理解你通过浏览器发送的请求web server是怎么处理的,然后怎么返回给浏览器,浏览器才能展示的。...要理解web server如何能处理多个请求有两个基本要素 第一,知道怎么通过socket编程,这也是我在视频中强调的一点,理解这点之后再去看看WSGI,你就知道Python世界中大部分的框架怎么运作了...第二,多线程编程,理解了这个,你才能知道怎么着我起了一个web server,就能处理多个请求。 多进程也是一样的逻辑。...tab,同时打开试试. # coding:utf-8 import socket import threading import time EOL1 = '\n\n' EOL2 = '\n\

2.5K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Rest api简介

    理解和使用内容协商 我们的开发者在发送一个 REST API 请求的同时,根据应用场景,针对相同的资源,可能会期待不同的返回形式。 比如,我希望根据用户客户端语言,同一个资源的内容可以返回不同的语言。...使用 HTTP 头进行缓存处理 在 REST 的构架中,我们除了在与后台的数据交换中,需要有一个良好的缓存机制外,针对 REST API 请求都是在远端用 HTTP 发起这一特点,还需要为网络缓存进行更多考虑...通过减少 HTTP 响应内容,避免不必要的 HTTP 连接等方式,达到提高 REST API 使用效率的目的。 HTTP 头中,有多个字段可以用于缓存处理。比较常用的有缓存控制和条件请求。...,可以帮助我们更好的设计 REST API: 批量更新: 当用户需要更新多个资源的时候,你打算让开发者一次次的发送 HTTP 请求逐个更新吗?...你可以考虑在设计 API 的时候允许客户同时创建或者更新多个资源。

    2.9K60

    REST API设计指导——译自Microsoft REST API Guidelines(一)

    如果API的设计更规范更合理,在很大程度上能够提高联调的效率,降低沟通成本。那么什么是好的API设计?这里我们不得不提到REST API。...另外,REST API的书籍很多,但是完整完善实践丰富的设计指导并不多见,我们有幸看到了微软团队的作品——Microsoft REST API Guidelines,因此才有了此篇内容。...简单的来说,在REST API:URL定位资源,用HTTP动词(GET,POST,PUT,DELETE)描述操作。前面说了,REST 指的是一组架构约束条件和原则。...为什么用REST API? 1.前后端分离主要以API为界做接洽的,这样就会有很多的API,API的表现力更强,更加便于理解。...2.REST API没有状态,不管前端是何种状态何种设备下都可以无差别的请求资源。 3.Restful API有直接的规范和原则。 简单的来说,有以下好处: 看到Url就知道可以拿到什么。

    1.8K30

    REST API设计指导——译自Microsoft REST API Guidelines(三)

    前面我们说了,如果API的设计更规范更合理,在很大程度上能够提高联调的效率,降低沟通成本。那么什么是好的API设计?这里我们不得不提到REST API。...关于REST API的书籍很多,但是完整完善实践丰富的设计指导并不多见,我们有幸看到了微软团队的作品——Microsoft REST API Guidelines,因此才有了此篇内容。...Microsoft REST API 准则基本要求的一方面就是 服务的分类必须符合以下定义。...由于服务 fast-failing 请求而失败的调用(通常是为了保护自己)会被视为故障。 译者注:故障意味着服务端代码出现故障,可能会影响整体的API使用。比如数据库连接超时。...对于长时间运行的 API,很可能出现初始请求成功,且后续每次去获取结果时 API 也处于正常运行(每次都回传 200)中,但其底层操作已经失败了的情况。

    1.7K30

    REST API设计指导——译自Microsoft REST API Guidelines(四)

    前言 前面我们说了,如果API的设计更规范更合理,在很大程度上能够提高联调的效率,降低沟通成本。那么什么是好的API设计?这里我们不得不提到REST API。...关于REST API的书籍很多,但是完整完善实践丰富的设计指导并不多见,我们有幸看到了微软团队的作品——Microsoft REST API Guidelines,因此才有了此篇内容。...符合 Microsoft REST API 指南的 API 应该支持 PATCH 方法。...表的请求头应该遵循微软REST API服务规范。使用这些标头不是必须的,但是如果用到,那么它们必须使用一致。...在这个示例中,请求存在多个问题,每个细节错误都在“details”中列出。 7.11.

    2.9K50

    Microsoft REST API指南

    Microsoft REST API指南 摘要 Microsoft REST API指南作为一种设计原则,鼓励应用程序开发人员通过RESTful HTTP接口访问资源。...7.5 标准的请求标头 下面的请求标头表 应该遵循 Microsoft REST API指南服务使用。使用这些标题不是强制性的,但如果使用它们则必须始终一致地使用。...Changing collections POST请求不是幂等的。 这意味着发送到具有完全相同的有效负载(payload)的集合资源的两次POST请求可能导致在该集合中创建多个项。...服务器驱动的分页:通过在多个响应有效载荷上强制分页请求来减轻拒绝服务攻击。 客户端驱动的分页:允许客户机只请求它在给定时间可以使用的资源数量。...当客户端同时提供$top_和$skip_时,服务器应该首先应用$skip_,然后对集合应用$top_。

    6.1K11

    什么是REST API

    REST API是两个计算机系统在web浏览器和服务器中使用HTTP技术进行通信的一种方式。 在两个或多个系统之间共享数据一直是软件开发的一个基本要求。比如说,考虑购买汽车保险。...注意,浏览器向REST API发出两个请求: 对同一URL的HTTP OPTIONS请求确定Access-Control-Allow-Origin HTTP响应头是否有效。 实际的REST调用。...不幸的是,这样就有必要维护多个历史API。旧的版本最终可以被废弃,但整个过程需要仔细规划。 REST API认证 上面显示的测试API是开放的:任何系统都可以在未经授权的情况下获取数据。...在其他情况下,第三方应用程序正在请求用户的私有数据,如电子邮件内容。REST API必须识别用户和他们的权利,但它可能不关心哪个应用程序在调用API。...记录请求并调查失败情况。 多个请求和不必要的数据 RESTful APIs受到其实现的限制。响应可能包含比你需要的更多的数据,或者需要进一步的请求来访问所有数据。

    5.9K20

    【Elasticsearch】Rest风格API

    Rest风格API Elasticsearch提供了Rest风格的API,即http请求接口 基本概念 Elasticsearch也是基于Lucene的全文检索库,本质也是存储数据,很多概念与MySQL...文档中的属性 映射配置(mappings):字段的数据类型、属性、是否索引、是否存储等特性 官网 Elasticsearch Guide [6.8] | Elastic 索引操作 创建索引:put请求...使用kibana创建索引 请求方式:PUT 请求路径:索引库名 请求参数:json格式 put book {   "settings":{     "number_of_shards":1,...查看索引:get请求 get 索引库名 我们可以使用*来查询所有索引库 删除索引:delete请求 delete 索引库名 映射配置 创建索引库,就相当于mysql创建“数据库”。...match": {             "age": 22           }         }       ]     }   } } should并集查询 注意:must和should同时存在的时候

    1.6K40

    REST API 最佳实践

    5.用过滤、排序和分页请求数据 有时,API 的数据库可能非常大。如果发生这种情况,从这样的数据库中检索数据可能非常缓慢。 过滤、排序和分页都是可以在 REST API 的集合上执行的操作。...DELETE /comments/{id} 如果需要同时删除多条文章评论,URL 该如何设计呢? 常见的方式有如下几种。...第一种,使用 DELETE 方法,用多个资源 ID 放进 URL Query 中。 DELETE /api/resource?ids=1,2,3......推荐使用第一种方式,使用 DELETE 方法,多个资源 ID 放进 URL Query 中。就像我们使用 GET 请求多个资源时,将筛选条件放到 Query 参数中。...删除多个评论 5.小结 在这篇文章中,你了解了在创建 REST API 时需要记住的几个最佳实践。

    2.7K20

    聊聊rest api设计

    序 本文主要研究下rest api的设计。 设计准则 easy to use & hard to misuse 易用不易误用,也就是api设计不要太复杂,要简单易用,而且还不能容易用错。...least astonishment 简单就好,不要试图提供其他花哨、华丽的额外功能,比如对于时间类似的字符串参数,规定好一个输入格式即可,不要试图同时兼容多种格式输入。...输入规范 url中的参数避免驼峰,避免下划线,优先采用横杠 分页比如page及size,或者limit及offset 排序比如sort=+field2,-field2,用逗号分隔多个排序字段,用+表示升序...一般返回jsonObject,通常会携带code,error之类的 返回jsonObject的字段success表示请求是否成功,data表示数据,msg表示消息描述,error描述错误信息详情。...在真正需要真实数据的话,需要额外进行请求。

    1.3K10
    领券