私は単純なWebサーバーを構築するためにpython tornadoを使用しています。私は、単純な正規表現を使用して
竜巻:なぜhttp 500エラーが出るのですか?
import json
import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web
from tornado.options import define, options
define("port", default=80, help="run on the given port", type=int)
class IndexHandler(tornado.web.RequestHandler):
def get(self, param):
print("\n\nthis is a get request from indexhandler:")
if param:
print("param is NOT null")
self.render(r"frontend/" + param)
else:
print("param is null")
self.render(r"frontend/index.html")
if __name__ == "__main__":
tornado.options.parse_command_line()
app = tornado.web.Application(handlers=[(r"/(.*)", IndexHandler)])
http_server = tornado.httpserver.HTTPServer(app)
http_server.listen(options.port)
tornado.ioloop.IOLoop.instance().start()
すべてのフロントエンドコードのディレクトリ/フロントエンドであるような、/フロントエンドでのすべてのリソースへのアクセスをユーザーに許可する(*。):ここでは竜巻のコードがありますjsファイルとcssファイル。
[I 170501午後02時31分59秒ウェブ::2063] 200 GET /html/country.html私は私のウェブサイトを訪問しようとすると、
しかし、私は、サーバーでいくつかの304のエラーを取得します
[I 170501午前14時31分59秒ウェブ:2063] 304 GETの/css/bootstrap.min.css
[私は170501午前14時31分59秒ウェブ:2063] 304 GETの/css/reset.css
[I 170501 14:31:59ウェブ:2063] 304 GET /css/icon/iconfont.css
[I 170501 14:31:59 web:2063] 304 GET /css/country.css
[I 17 0501午前14時31分59秒ウェブ:2063] 304 GETの/css/common.css
UPDATE
私は別の問題があります。エラー500
言葉では、私はいくつかの304を持っていますそして、いくつかの500 500のすべてがこのようなものです:304は "変更なし" さ
[E 170501 22:53:19 web:1590] Uncaught exception GET /images/main-img1.jpg (X.X.X.X)
HTTPServerRequest(protocol='http', host='X.X.X.X', method='GET', uri='/images/main-img1.jpg', version='HTTP/1.1', remote_ip='X.X.X.X', headers={'Accept-Encoding': 'gzip, deflate, sdch', 'Accept-Language': 'fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4', 'Accept': 'image/webp,image/*,*/*;q=0.8', 'Host': 'X.X.X.X', 'Referer': 'http://X.X.X.X/html/country.html', 'Connection': 'keep-alive', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36'})
Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/tornado/web.py", line 1509, in _execute
result = method(*self.path_args, **self.path_kwargs)
File "tmp.py", line 20, in get
self.render("frontend/" + param)
File "/usr/local/lib/python3.5/site-packages/tornado/web.py", line 724, in render
html = self.render_string(template_name, **kwargs)
File "/usr/local/lib/python3.5/site-packages/tornado/web.py", line 862, in render_string
t = loader.load(template_name)
File "/usr/local/lib/python3.5/site-packages/tornado/template.py", line 427, in load
self.templates[name] = self._create_template(name)
File "/usr/local/lib/python3.5/site-packages/tornado/template.py", line 455, in _create_template
template = Template(f.read(), name=name, loader=self)
File "/usr/local/lib/python3.5/site-packages/tornado/template.py", line 304, in __init__
reader = _TemplateReader(name, escape.native_str(template_string),
File "/usr/local/lib/python3.5/site-packages/tornado/escape.py", line 218, in to_unicode
return value.decode("utf-8")
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
[E 170501 22:53:19 web:2063] 500 GET /images/main-img1.jpg (X.X.X.X) 2.07ms
これはエラーではない場合、なぜ私は予想されるページを取得できませんか?実際に私は2つの問題があります:1つは304で、もう1つは500です。私は私の質問を更新します。 – Yves