0 近几年python中的几个web框架,sanic,fastapi(异步框架)
1 python中的web服务器都符合wsgi协议
2 web服务器,任何语言都会有一个web服务器,负责把http请求转成这门语言的变量
-python:wsgiref(性能很低),uwsgi(C语言写的),200多并发量
-java:tomcat,jboss(300多并发量)
-php:php服务器
ps:每次请求都是一个新的请求 (这是http请求的缺点,所以之后有会话保持,Cookie session Token等技术)
通俗点描述:
用户在浏览器发请求,经过web服务器
中间件,经过路由之后开始匹配视图函数。
视图函数从数据库拿数据,从模板里拿模板,然后把数据渲染到模板里,最后生成一个渲染好的html页面返回给浏览器,用户从浏览器就看到样子了
详细:
客户端输入的是域名,要转成ip地址,所以有dns解析的过程(dns解析里面又有从哪个本地的host还是去计算机里配的那个比如阿里云里面去解析,再往上找,找到根),
之后就直接定位到本地的ip地址,之后会朝ip地址和端口号发送get请求(这里指如果从浏览器发的话),
之后会进入web服务器==》把http拆成字典==》调起可调用对象(django,flask,tornodo)==》中间件==》路由匹配(会循环匹配)
==》执行视图函数(数据库拿数据,模板文件拿模板,渲染)==》生成html页面(这个html页面是已经渲染完了,而js实在客户端完成的)==》返回
ps:
QPS 代表每秒并发量
不要觉得30并发少,这个量是普通公司正常的量
同步框架 并发量300最多
一个接口能破万已经很好了,1万并发需要50台左右机器
2万并发需要80台左右服务器
粗略计算用户量:
用户量=日活*100*100