Ответ 1
Я предлагаю вам нажать Ctrl + F5 при обновлении браузера.
Просто наткнулся на этот, это может быть просто то, что вы ищете (это в рубине, между прочим)
В Windows 7 я использую командную строку
python -m SimpleHTTPServer 8888
чтобы вызвать простой веб-сервер для работы с файлами из каталога для разработки.
Проблема в том, что сервер, похоже, хранит файлы в кеше. Старые версии файлов обслуживаются, несмотря на то, что доступны новые версии.
Можно ли указать параметр "без кэша" из командной строки напрямую?
Я предлагаю вам нажать Ctrl + F5 при обновлении браузера.
Просто наткнулся на этот, это может быть просто то, что вы ищете (это в рубине, между прочим)
Возможно, это может сработать. Сохраните следующее в файле:
serveit.py
#!/usr/bin/env python
import SimpleHTTPServer
class MyHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def end_headers(self):
self.send_my_headers()
SimpleHTTPServer.SimpleHTTPRequestHandler.end_headers(self)
def send_my_headers(self):
self.send_header("Cache-Control", "no-cache, no-store, must-revalidate")
self.send_header("Pragma", "no-cache")
self.send_header("Expires", "0")
if __name__ == '__main__':
SimpleHTTPServer.test(HandlerClass=MyHTTPRequestHandler)
затем запустите его, используя
python serveit.py 8000
чтобы обслуживать текущий каталог на порту 8000. Это было полностью вытащено из этого значения и, похоже, отлично работает!
ПРИМЕЧАНИЕ. Если вы просто хотите запустить локальный веб-сервер для обслуживания статического контента, вас может заинтересовать готовое решение node, чтобы сделать это = > http-server, который я использую и, кажется, отлично работает.
Также, если вы на Mac, если вы запустили его как root, вы можете запустить его на порту 80 или 443! Например
sudo python serveit.py 80
должен позволить вам запустить его и получить к нему доступ в браузере http://localhost
Конечно, script выше не будет работать для Python 3.x, но он просто состоит в изменении SimpleHTTPServer на http.server, как показано ниже:
#!/usr/bin/env python
import http.server
class MyHTTPRequestHandler(http.server.SimpleHTTPRequestHandler):
def end_headers(self):
self.send_my_headers()
http.server.SimpleHTTPRequestHandler.end_headers(self)
def send_my_headers(self):
self.send_header("Cache-Control", "no-cache, no-store, must-revalidate")
self.send_header("Pragma", "no-cache")
self.send_header("Expires", "0")
if __name__ == '__main__':
http.server.test(HandlerClass=MyHTTPRequestHandler)
Извините, я бы добавил как комментарий, но, видимо, мне не хватает репутации...
Возможно, это браузер, кеширующий ваши файлы, а не SimpleHTTPServer. Попробуйте сначала отключить кеш браузера.