【发布时间】:2016-08-09 23:01:55
【问题描述】:
我创建了一个小型 python html 服务器,但在发送外部 css 和 javascript 时遇到问题。 html 按应有的方式传输,内联 css 工作正常。 chrome 开发者工具响应此错误:
资源被解释为样式表,但以 MIME 类型传输 文本/纯文本:“http://localhost:8888/style.css”。
很遗憾,我不知道什么是“MIME 类型”。
这里是python代码:
# server.py
import socket
file = open('website/index.html', 'r')
def start_server(HOST, PORT):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind((HOST, PORT))
s.listen(1)
print('Serving HTTP on port %s ...' % PORT)
while True:
client_connection, client_address = s.accept()
request = client_connection.recv(1024)
print(request.decode('utf-8'))
http_response = """\
http/1.1 200 OK
""" + file.read() + """
"""
client_connection.sendall(bytes(http_response, 'utf-8'))
client_connection.close()
【问题讨论】:
-
我可以根据要求提供任何额外信息。
-
除了下面的答案,你还必须发送另一个头:
Connection: close,因为你没有持久连接。 -
@SuperSaiyan:实际上在这种情况下您不需要发送 Connection 标头,因为响应会随着底层 TCP 连接的关闭而关闭。样式不好但有效。
-
我正在学习,感谢您的回复!