2017-12-03 5 views
0

localhost에서 다른 포트로 실행중인 서버가 2 대 있습니다. 하나는 파이썬에서 간단한 플라스크 서버이며, 코드는 아래에 추가됩니다 : 나는 우편 배달하거나 마법처럼 작동하는 기존의 클라이언트에서 GET 요청을 보낼 때Flask Server는 AJAX와 함께 호출 할 때 상당한 지연 후 응답을 반환합니다.

from flask import Flask,jsonify 
from flask_cors import CORS 

app = Flask(__name__) 
CORS(app) 

@app.route('/',methods=['GET']) 
def index(): 
    return jsonify("Hello, World!") 

if __name__ == '__main__': 
    app.run(debug=True,threaded=True) 

. 그러나 아파치를 사용하여 기존의 JavaScript AJAX 코드를 호스팅하면 응답이 크게 지연됩니다. 코드는 다음과 같습니다.

<!DOCTYPE html> 
<html lang="en"> 

<head> 
    <title>Title</title> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'> 
    <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
    <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script> 

    <script> 
    function loadDoc() { 

     var xhttp = new XMLHttpRequest(); 

     xhttp.onreadystatechange = function() { 
     if (this.readyState == 4 && this.status == 200) { 
      alert(this.responseText) 
      document.getElementById("demo").innerHTML = 
      this.responseText; 
     } 
     }; 
     xhttp.open("GET", "http://localhost:5000/", true); 
     xhttp.send(); 
    } 
    </script> 


</head> 

<body> 
    <div id="demo"> 
    <h1>Welcome to our application</h1> 
    <br> 
<button type="button" onclick="loadDoc()">Print Hello World!</button> 
</div> 
</body> 
</html> 

간혹 응답을받지 못합니다. 빠른 제안이 도움이 될 것입니다.

답변

0

말한다 WSGI 응용 프로그램의 문서에 답을 찾았습니다 IPv6를 지원하고 같은 현대적인 리눅스 시스템, OS X 10.4 이상뿐만 아니라 Windows Vista의 일부 브라우저가 될 수있는 구성되어 운영 체제에서

로컬 서버에 액세스 할 경우 속도가 느려집니다. 그 이유는 "localhost"가 ipv4 및 ipv6 소켓에서 사용 가능하도록 구성되어 있으며 일부 브라우저는 먼저 ipv6에 액세스 한 다음 ipv4에 액세스하려고 시도하기 때문입니다. 시스템의 hosts 파일에서

::1  localhost 

을 제거하십시오.