FastAPI 是一个基于 ASGI 的现代 Web 框架,它的性能优秀,具有高度的可伸缩性和响应速度快等特点。FastAPI 支持多种 ASGI 服务器和工作进程模型,其中最流行的 ASGI 服务器是 Uvicorn 和 Daphne,而 Gunicorn 则是最流行的 WSGI 服务器之一。下面是关于使用 Uvicorn 和 Gunicorn 的一些考虑因素:
在并发编程中,经常会遇到多个线程访问同一个共享资源而这时候,我们就需要保证数据的"一致性",那么就要用到锁的概念,给资源加上锁,拿到锁所有权的人才能够进行操作共享资源,没有拿到资源的线程需要等待,等其他线程使用完,释放锁。
Web应用程序是使用HTTP
协议传输数据的。HTTP
协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。要跟踪该会话,必须引入一种状态保持机制。
在项目中,需要为 APP 撰写 API。刚开始接触的时候,并没有考虑太多,就想提供 URL,APP 端通过该 URL 进行查询、创建、更新等操作即可。但再对相关规范进行了解后,才发现,API 的设计并没有那么简单,远远不是 URL 的问题,而是一个通信协议的整体架构。
SQL注入,旁注,XSS跨站,COOKIE欺骗,DDOS,0day 漏洞,社会工程学 等等等等,只要有数据交互,就会存在被入侵风险!哪怕你把网线拔掉,物理隔绝,我还可以利用传感器捕捉电磁辐射信号转换成模拟图像。你把门锁上,我就爬窗户;你把窗户关上,我就翻院墙;你把院墙加高,我就挖地洞。。。道高一尺魔高一丈,我始终坚信计算机不存在绝对的安全,你攻我防,此消彼长,有时候,魔与道只在一念之间。
下面,就让我们一起推开计算机中那另一扇不为人知的门
CSRF跨站点请求伪造(Cross—Site Request Forgery),存在巨大的危害性,你可以这样来理解:
攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。如下:其中Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User C为Web A网站的合法用户。
在网站开发完成后,需要在服务器上线部署,而在这个过程中,需要借助一系列工具,以下借助flask服务演示部署上线的一系列步骤。