gpt4 book ai didi

python - http客户端需要访问nginx两次才能加载css文件

转载 作者:行者123 更新时间:2023-11-30 23:11:48 25 4
gpt4 key购买 nike

我有以下情况。我配置了 nginx 和 uwsgi。并且有简单的html页面:

html = """

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>GET handler</title>
<link rel="stylesheet" type="text/css" href="http://192.168.136.129/css/style.css" >
</head>
<body>
<table>
<thead>
<tr>
<th>Parameters</th>
<th>Item</th>
</tr>
</thead>
<tbody>
{}// Here python adds parameters.
</tbody>
<tfoot></tfoot>
</table>
</body>
</html>"""

此页面是通过 uwsgi 服务器的 python 脚本修改的。问题是这样的配置会导致客户端需要两次访问nginx:第一次加载html,然后加载css外部文件。如果我不配置 nginx 单独加载 css 文件并从本地文件夹中放入 css 文件,如下所示:

<link rel="stylesheet" type="text/css" href="../css/style.css" >

没有任何作用。我浏览了 stackoverflow 网站,人们说我需要再次与 http 服务器关联才能加载 css。我认为效率很低。有什么方法可以将 CSS 文件与 html 一起加载吗?

最佳答案

这是 HTTP 工作方式所固有的。一个网页通常需要多个请求 - 加载 .html.css,通常还需要一个或多个 .js 脚本,以及也许是一些 .png 图像,等等。

HTTP/1.1 至少允许浏览器通过同一个 TCP 连接(或偶尔并行的两个连接)传输所有这些请求,而不是建立一大堆单独的连接。网络服务器在过去几十年里一直在优化来解决这个问题。

HTTP/2允许将多个请求复用到同一个流中,这是为了解决这个问题。这很棒,但由于它在几个月前刚刚获得批准,并且大多数服务器、浏览器和客户端尚不支持它(或者只是实验性地支持),所以现在,您必须接受 1.1。

您可以采取一些技巧来解决这个问题,但通常不值得。有多种方法可以直接在页面中包含 css 和 js。对于其他资源,您可以将它们转换为 data: URL(这样当浏览器“请求”图像时,它不必返回到服务器,只需解压数据内容即可本地)。因此,您可以从单独的静态文件中为每个请求动态生成一个“一体化”文件,然后缓存它。

关于python - http客户端需要访问nginx两次才能加载css文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30062620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com