2014-06-19 5 views
1

최근에 web.py를 사용하여 응용 프로그램을 빌드하고 모든 정적 파일이 요청할 때마다 전송되는 것을 발견했습니다.브라우저 캐시에 정적 파일을 저장하려면 어떻게해야합니까?

10.18.40.100:49458 - - [19/Jun/2014 17:03:45] "HTTP/1.1 GET /css/bootstrap.css" - 200 OK 
10.18.40.100:49459 - - [19/Jun/2014 17:03:45] "HTTP/1.1 GET /css/bootstrap-responsive.css" - 200 OK 
10.18.40.100:49460 - - [19/Jun/2014 17:03:45] "HTTP/1.1 GET /js/jquery-1.8.2.min.js" - 200 OK 
10.18.40.100:49461 - - [19/Jun/2014 17:03:45] "HTTP/1.1 GET /js/bootstrap.js" - 200 OK 
10.18.40.100:49461 - - [19/Jun/2014 17:03:45] "HTTP/1.1 GET /img/mini.png" - 200 OK 
10.18.40.100:49460 - - [19/Jun/2014 17:03:45] "HTTP/1.1 GET /img/test_mini.png" - 200 OK 
10.18.40.100:49460 - - [19/Jun/2014 17:03:45] "HTTP/1.1 GET /favicon.ico" - 200 OK 
10.18.40.100:49460 - - [19/Jun/2014 17:03:52] "HTTP/1.1 GET /compeval" - 200 OK 
10.18.40.100:49460 - - [19/Jun/2014 17:03:52] "HTTP/1.1 GET /css/bootstrap.css" - 200 OK 
10.18.40.100:49458 - - [19/Jun/2014 17:03:52] "HTTP/1.1 GET /js/bootstrap.js" - 200 OK 
10.18.40.100:49459 - - [19/Jun/2014 17:03:52] "HTTP/1.1 GET /js/jquery-1.8.2.min.js" - 200 OK 
10.18.40.100:49461 - - [19/Jun/2014 17:03:52] "HTTP/1.1 GET /css/bootstrap-responsive.css" - 200 OK 
10.18.40.100:49459 - - [19/Jun/2014 17:03:53] "HTTP/1.1 GET /img/mini.png" - 200 OK 
10.18.40.100:49459 - - [19/Jun/2014 17:03:53] "HTTP/1.1 GET /img/glyphicons-halflings.png" - 200 OK 
10.18.40.100:49459 - - [19/Jun/2014 17:03:53] "HTTP/1.1 GET /favicon.ico" - 200 OK 
10.18.40.100:49459 - - [19/Jun/2014 17:03:58] "HTTP/1.1 GET /viewcompqlab" - 200 OK 
10.18.40.100:49459 - - [19/Jun/2014 17:03:58] "HTTP/1.1 GET /css/bootstrap.css" - 200 OK 
10.18.40.100:49461 - - [19/Jun/2014 17:03:58] "HTTP/1.1 GET /css/bootstrap-responsive.css" - 200 OK 
10.18.40.100:49460 - - [19/Jun/2014 17:03:58] "HTTP/1.1 GET /js/bootstrap.js" - 200 OK 
10.18.40.100:49458 - - [19/Jun/2014 17:03:58] "HTTP/1.1 GET /js/jquery-1.8.2.min.js" - 200 OK 
10.18.40.100:49458 - - [19/Jun/2014 17:03:58] "HTTP/1.1 GET /img/mini.png" - 200 OK 
10.18.40.100:49458 - - [19/Jun/2014 17:03:58] "HTTP/1.1 GET /favicon.ico" - 200 OK 
10.18.40.100:49517 - - [19/Jun/2014 17:07:05] "HTTP/1.1 GET /compeval" - 200 OK 
10.18.40.100:49517 - - [19/Jun/2014 17:07:05] "HTTP/1.1 GET /css/bootstrap.css" - 200 OK 
10.18.40.100:49519 - - [19/Jun/2014 17:07:06] "HTTP/1.1 GET /js/jquery-1.8.2.min.js" - 200 OK 
10.18.40.100:49518 - - [19/Jun/2014 17:07:06] "HTTP/1.1 GET /css/bootstrap-responsive.css" - 200 OK 
10.18.40.100:49520 - - [19/Jun/2014 17:07:06] "HTTP/1.1 GET /js/bootstrap.js" - 200 OK 
10.18.40.100:49520 - - [19/Jun/2014 17:07:06] "HTTP/1.1 GET /img/baidu_mini.png" - 200 OK 
10.18.40.100:49518 - - [19/Jun/2014 17:07:06] "HTTP/1.1 GET /img/glyphicons-halflings.png" - 200 OK 
10.18.40.100:49518 - - [19/Jun/2014 17:07:06] "HTTP/1.1 GET /favicon.ico" - 200 OK 

물론, .png, .ico, .css.js 파일이 정적 및 내 서버에 유효한 전역 :

다음은 내 로그입니다. 그럼, 내 질문은 : 나는 이것을 피할 수 및 브라우저가 이러한 정적 파일을 캐시하지 않도록 할 수 있습니다 Ctrl + F5?

:
"""register serve""" 
urls=('/', 'index', 
    '/favicon.ico','favicon', 
    '/(js|css|img)/(.*)', 'static') 


"""def class to support serve""" 
class static: 
    def GET(self, media, fn): 
     rmod="r" 
     if fn.endswith(".png"): 
      rmod="rb" 
     f = open(media+'/'+fn, rmod) 
     try: 
      stream = f.read() 
      return stream 
     except: 
      f.close() 
      return '404 Not Found' 

class favicon: 
    def GET(self): 
     f = open("static/favicon.ico", 'rb')                                                 
     return f.read() 

그런 다음 내 템플릿 html 파일에 이러한 정적 파일 서버를 사용

부록, 어떻게 내 index.py 파일에 web.py에서 다음과 같이 코드를 정적 파일을 제공 할

<link href="css/bootstrap.css" rel="stylesheet" media="screen"> 
<link href="css/bootstrap-responsive.css" rel="stylesheet"> 
<script src="js/jquery-1.8.2.min.js"></script> 
<script src="js/bootstrap.js"></script>  

답변

0

정적 파일은 web.py을 통해 제공되지 않아야합니다. 대신 웹 서버가 적절한 URL에 대한 요청을 처리하도록 구성해야합니다. 일반적인 설정은 모든 정적 파일이있는 static 디렉토리를 제공하는 것입니다.

정적 파일 서비스 구성 방법에 대한 자세한 내용은 웹 서버 (apache, lighttpd, ...) 및 인터페이스 기술 (fastCGI, mod_wsgi, ...)에 따라 다릅니다. 배포 섹션에서 일반적인 구성을 찾을 수 있습니다. the cookbook

+0

아니요. web.py는 정적 파일을 제공 할 수 있습니다. 그것은 간단한 응용 프로그램이므로 웹 서버로 web.py를 사용합니다. 참조하는 방법에 관하여 : http://webpy.org/cookbook/staticfiles – eason

+0

@eason 나는 그것을 결코 말하지 않았다 * can not * * it should * should not *. 적절한 웹 서버가 아니기 때문에 캐시 관리와 같은 고급 기능이 없다고 생각합니다. 그렇게 간단한 응용 프로그램이라면 왜 캐싱에 대해 걱정합니까? – goncalopp

관련 문제