使用C ++提供静态文件

问题描述 投票:0回答:2

我有自己的基于C ++ TCP套接字的Web服务器实现。现在这个服务器可以在HTTP正文中发送纯文本。我需要这个服务器来发送静态文件(HTML,CSS,JS)。文件位于./static/目录(./static/admin.html./static/admin.css./static/admin.js),服务器读取文件内容并使用适当的HTTP标头将其发送到客户端。 admin.html文件链接到admin.cssadmin.js,如下面的代码所示。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Admin Page</title>
    <link rel="stylesheet" type="text/css" href="admin.css">
</head>
<body>
    <script src="admin.js"></script>
    <!-- ... -->
</body>
</html>

1)客户如何收到cssjs文件?

2)提供静态文件的常识是什么?

2.1)我应该读取*.html文件缓冲区,注入*.css标签中<style>的缓冲区内容和*.js标签中<script>的内容吗?还有另一种更有效/优雅/好的方式吗?

c++ static-files
2个回答
2
投票
  1. 客户端将收到.css和.js文件,但不是你想象的方式!当客户端请求你的html文件时,它会解析它,然后会发现它包含.css或.js等。所以它会在其他请求中单独询问它们。为了使其正常工作,您需要键入发送回客户端的文件。查找HTTP标头“Content-Type”(例如:对于HTML文件,您应该将其键入“Content-Type:text / html”)。
  2. 不清楚你要求的是什么。
  3. 当然不是,让客户做好自己的工作吧!

0
投票

现代浏览器将为您完成此操作,您在服务器端需要做的就是使用正确的文件进行响应。大声笑。希望对你有帮助

© www.soinside.com 2019 - 2024. All rights reserved.