我创建了最简单的html页面
<html lang="en">
<head>
<meta charset="utf-8">
<title>App</title>
</head>
<body>
Hello, world.
</body>
</html>
并在页面的文件夹中运行python -m SimpleHTTPServe 8000
。
问题:当我转到localhost:8000
时,我会看到我的页面文字。表示http服务器,而不是将其解释为html页面将我的页面的每个字符串包装成<p>
标记。
如果我打开来源,我会得到:
<html>
........
<body>
<p class="p1"><span class="s1"><</span><b>html</b><span class="s2"> </span><span class="s3">lang</span><span class="s1">=</span><span class="s4">"en"</span><span class="s1">></span></p>
<p class="p2"> <span class="s1"><</span><span class="s5"><b>head</b></span><span class="s1">></span></p>
<p class="p2"> <span class="s1"><</span><span class="s5"><b>meta</b></span> <span class="s3">charset</span><span class="s1">=</span><span class="s4">"utf-8"</span><span class="s1">></span></p>
<p class="p3"><span class="s2"> </span><<span class="s5"><b>title</b></span>>Backbone.js Todo App</<span class="s5"><b>title</b></span>></p>
<p class="p2"> <span class="s1"></</span><span class="s5"><b>head</b></span><span class="s1">></span></p>
<p class="p2"> <span class="s1"><</span><span class="s5"><b>body</b></span><span class="s1">></span></p>
<p class="p3"><span class="s2"> </span>Hello, world.</p>
<p class="p3"><span class="Apple-converted-space"> </span></<span class="s5"><b>body</b></span>></p>
<p class="p1"><span class="s1"></</span><b>html</b><span class="s1">></span></p>
</body>
</html>
答案 0 :(得分:1)
如果您要在TextEdit中编辑页面,请确保打开格式菜单并选择&#34;制作纯文本。&#34;
如果您在没有此选项的情况下保存为HTML,则TextEdit会添加这些标记以保留文本文件的格式。
答案 1 :(得分:0)
我刚尝试使用我的Mac而且我没有观察到类似的行为:我的启动服务器略有不同:
python -mSimpleHTTPServer 8000
:m和SimpleHTTPServer之间没有空格(用空格检查,行为相同)我的猜测是你的文件没有扩展名.html,浏览器本身正在添加标签以显示它。
您可以尝试使用curl下载文件,以确保:curl http://localhost:8000/a.out
来自终端
注意:我在使用python 2.7.5的McBook air上运行MacOS 10.9.4
答案 2 :(得分:0)
如果您的页面正如您所描述的那样显示为文本,则很可能意味着服务器在其HTTP标头中未使用正确的content-type
。 SimpleHTTPServer
使用模块mimetypes
来确定大多数文件类型使用的content-type
。
您可以自己查看:
>>> import mimetypes
>>> mimetypes.init()
>>> print mimetypes.types_map
...
或更具体地说
>>> print mimetypes.types_map['.html']
text/html
确保您的文件扩展名与mimetypes
期望的匹配。