其他分享
首页 > 其他分享> > 拓展知识点

拓展知识点

作者:互联网

目录

cgi fastcig WSGI uwsgi uWSGI

cgi:通用网关接口(Common Gateway Interface/CGI)是一种重要的互联网技术,可以让一个客户端,从网页浏览器向执行在网络服务器上的程序请求数据。CGI描述了服务器和请求处理程序之间传输数据的一种标准。

     一句话总结: 一个标准,定义了客户端服务器之间如何传数据    

fastcig:快速通用网关接口(Fast Common Gateway Interface/FastCGI)是一种让交互程序与Web服务器通信的协议。FastCGI是早期通用网关接口(CGI)的增强版本

      一句话总结: CGI的升级版
  常用的fastcgi软件: 
        Apache HTTP Server (部分)
        Nginx(主流):nginx是一个符合fastcgi协议的软件,处于浏览器和web程序之间,主要做请求转发和负载均衡,也可以称之为服务器中间件
        Microsoft IIS

WSGI:Web服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。自从WSGI被开发出来以后,许多其它语言中也出现了类似接口

	一句话总结: 为Python定义的web服务器和web框架之间的接口标准
wsgiref:性能很低,python实现的,djgno内置了,测试阶段用,上线不用
uWSIG:性能高,c实现的
gunicorn:python实现的

uWSGI: 符合wsgi协议的web服务器,上面标准的具体实现

uwsgi:uWSGI服务器,自有协议

接口幂等性

-幂等性:多次操作的效果跟一次操作是一样的
-多次调用接口,跟调用一次效果一样
-哪些接口天然就是幂等性的?
    	-get
        -put
        -delete
	-post新增数据,不是接口幂等的,对不符合幂等性的接口,进行处理
    -如何解决:
    	-方式一:通过唯一字段解决,像注册接口,让用户名唯一
        -方式二:前端点击以后,按钮失效,只能点一次
        -方式三:(主流)token机制
        1、哪些接口存在幂等问题的,就必须在执行业务前,先去获取token,服务器会把token保存到redis中。
        2、然后调用业务接口请求时,把token携带过去,一般放在请求头部。
        3、服务器判断token是否存在redis中,存在表示第一次请求,然后删除token,继续执行业务。
        4、如果判断token不存在redis中,就表示是重复操作,直接返回重复标记给client,这样就保证了业务代码,不被重复执行

Apache

-Apache 公司
-Apache  web服务器
-Apache  开源协议
    -Kafka :apache顶级开源项目
    -echars:原来是百度开发的,交给了apache孵化

中间件

-介于a和b之间的东西都称之为中间件
        -服务器中间件:nginx,apache
        -数据库中间件:介于应用程序和数据库之前的, MyCat
        -消息队列中间件:kafka,rabbitmq,Rocketmq
        

浏览器输入一个地址到请求返回,经历的过程

-1 输入域名,敲回车,向这个域名的80端口,发送了一个get请求
-2 把域名通过域名解析(dns解析),解析出真正的地址 101.133.225.166
    -dns解析:先解析本地host文件,为全网用户提供域名的公共递归解析服务,全球13个根dns服务器,如果还找不到,就报错
-3 客户端跟服务器建立链接
    -走的是http协议---(请求协议,响应协议)
    -但是http协议底层基于TCP,三次握手,就开始可靠传输数据
-4 假设咱们后端是python的django框架 :中间件,路由匹配,视图函数,取数据,拿模板渲染模板,把模板的数据,放到http响应的响应体中,通过http响应返回给客户端
-5 浏览器拿到了http的响应,把响应头的东西,放到浏览器中,响应体的数据,显示在浏览器上,就看到了数据了

标签:知识点,浏览器,中间件,接口,token,拓展,Apache,服务器
来源: https://www.cnblogs.com/run-fast-hit-fast-win-fast/p/16467652.html