zoukankan      html  css  js  c++  java
  • nginx, flask, wsgi

    原来自己还没搞懂这些。

    首先post一个观点:

    nginx应该是没解析任何东西,就判断是不是http请求,然后转发?或者判断是不是tcp请求,然后转发。

    所以给了python后台就可以用wsgi解包。

    浏览器发送一个HTTP请求;

    服务器收到请求,生成一个HTML文档;

    服务器把HTML文档作为HTTP响应的Body发送给浏览器;

    浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示。

    flask默认实现了多线程啊。

    在api里面print("??"), time.sleep(5)就知道了,先输出两个??

    threaded=True,
    processes=5,

    这两个参数是干嘛的。

    对,默认多线程,threaded=False,就可以开启不是多线程

    GET

    浏览器直接访问:

    GET / HTTP/1.1
    Host: localhost:8888
    Connection: keep-alive
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
    Accept-Encoding: gzip, deflate, br
    Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
    Cookie: session=eyJ1c2VyX2lkIjoxMX0.XFBI2g.Y6DEEvE55BrKN1RAi3ahzr2ACLY
    View Code

    curl:

    ('127.0.0.1', 37574)上线
    GET / HTTP/1.1
    Host: localhost:8888
    User-Agent: curl/7.47.0
    Accept: */*
    View Code

     nginx:

    GET / HTTP/1.0
    Host: localhost:8080
    X-Real-IP: 192.18.0.1
    X-Forwarded-For: 192.18.0.1
    Connection: close
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
    Accept-Encoding: gzip, deflate, br
    Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
    Cookie: session=eyJ1c2VyX2lkIjoxMX0.XFBI2g.Y6DEEvE55BrKN1RAi3ahzr2ACLY
    If-None-Match: W/"5c334609-97a"
    If-Modified-Since: Mon, 07 Jan 2019 12:28:57 GMT
    View Code

     post man

    GET / HTTP/1.1
    Host: localhost:8888
    Connection: keep-alive
    Cache-Control: no-cache
    User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
    Postman-Token: 30cd6141-94c1-72f4-867b-6812798e630d
    Accept: */*
    Accept-Encoding: gzip, deflate, br
    Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
    View Code

    curl post

    ('192.18.0.1', 37324)上线
    POST / HTTP/1.1
    Host: localhost:8888
    User-Agent: curl/7.47.0
    Accept: */*
    Content-Length: 144
    Expect: 100-continue
    Content-Type: multipart/form-data; boundary=------------------------a2d7d2c79637d3d8
    
    
    --------------------------a2d7d2c79637d3d8
    Content-Disposition: form-data; name="weiming"
    
    aa
    --------------------------a2d7d2c79637d3d8--
    View Code

    postman post

    ('192.18.0.1', 37878)上线
    POST / HTTP/1.1
    Host: localhost:8888
    Connection: keep-alive
    Content-Length: 141
    User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36                                                  
    Cache-Control: no-cache
    Origin: chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop
    Postman-Token: 70ba296b-ceaa-10be-0fa0-99f50f7b92c3
    Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryxQsGCT1GJEFAARPd
    Accept: */*
    Accept-Encoding: gzip, deflate, br
    Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
    
    ------WebKitFormBoundaryxQsGCT1GJEFAARPd
    Content-Disposition: form-data; name="weiming"
    
    liu
    ------WebKitFormBoundaryxQsGCT1GJEFAARPd--
    View Code

    postman post nginx

    ('192.18.0.6', 34046)上线
    POST / HTTP/1.0
    Host: localhost:8080
    X-Real-IP: 192.18.0.1
    X-Forwarded-For: 192.18.0.1
    Connection: close
    Content-Length: 234
    User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
    Cache-Control: no-cache
    Origin: chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop
    Postman-Token: 63158aa1-955c-b6bf-0a25-3ddcf7db86df
    Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryNM8OhUBY87wBspdZ
    Accept: */*
    Accept-Encoding: gzip, deflate, br
    Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
    
    ------WebKitFormBoundaryNM8OhUBY87wBspdZ
    Content-Disposition: form-data; name="weiming"
    
    liu
    ------WebKitFormBoundaryNM8OhUBY87wBspdZ
    Content-Disposition: form-data; name="aaa"
    
    bbb
    ------WebKitFormBoundaryNM8OhUBY87wBspdZ--
    View Code
  • 相关阅读:
    Java SSL证书的安装
    zookeeper集群配置
    ERROR org.apache.zookeeper.ClientCnxn:532
    线程池c3p0和dbcp2的配置初始化实例
    SIP/2.0 403 Forbidden(Invalid domain in From: header)
    OkHttp实现文件上传进度
    Http 缓存机制
    Cookie、Session 和 Token区别
    RecyclerView-- 侧滑删除和拖动排序
    RecyclerView--添加头部和底部
  • 原文地址:https://www.cnblogs.com/liuweimingcprogram/p/10335092.html
Copyright © 2011-2022 走看看