有需求啦。
有同学需要一个每次访问只能费1kb的流量。那就是连上包含 HTTP 头和 html 页面的能够正好达到1024Bytes。
技术拆解:这其实是个数学题
要让一个页面的 Content-Length 精确稳定在 1024 字节,我们面临三个问题:
Gzip 压缩:现代服务器都很“贴心”,会自动压缩文本。你写了 1KB 的代码,传输过来可能只有 几百 字节。
Favicon 图标:浏览器会自动请求 /favicon.ico,这又是额外的请求和流量。
动态长度:因为要显示“访问次数”,9 是 1 个字符,100 是 3 个字符。数字位数变化会导致总长度变化。必须自动填充!

解决方案
既然要精确控制,静态 HTML 是做不到的(因为你要手动去算空格)。我们直接用 PHP 动态计算,缺多少字节,我们就用 * 号填满。

核心就是 填充字符数=1024−(HTTP头长度+HTML内容长度)

直接访问:https://gongju.cool/1kb/ 或者

# curl -I https://gongju.cool/1kb/

HTTP/1.1 200 OK
Server: nginx
Date: Fri, 21 Nov 2025 21:21:21 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 1024
Connection: keep-alive

具体 php 代码如下:

<?php
// 1. 禁用 Gzip,确保网络传输 Body 大小恒定
if (function_exists('apache_setenv')) {
    apache_setenv('no-gzip', 1);
}
ini_set('zlib.output_compression', 'Off');

// 2. 设定单次页面 Body 大小 (1024 Bytes)
$target_size = 1024;

// 3. 构建页面
// 注意:我们在 HTML 里预留了显示区域,具体数字由 JS 计算后填入
$html_content = <<<EOT
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>1KB Traffic</title>
<link rel="icon" href="data:,">
<style>body{text-align:center;padding-top:20vh;background:#eee;color:#333}h1{font-size:2em;margin-bottom:10px}p{font-size:1.2em;color:#007bff}</style>
</head>
<body>
<h1>Count: <span id="c">1</span></h1>
<p id="t">Total: 1024 Bytes</p>
<script>var s=sessionStorage;var k="kb_count";var n=Number(s.getItem(k))||0;n++;s.setItem(k,n);document.getElementById("c").innerText=n;var totalBytes=n*1024;var display="";if(totalBytes>=1048576)display=(totalBytes/1048576).toFixed(2)+" MB";else if(totalBytes>=1024)display=totalBytes/1024+" KB";else display=totalBytes+" Bytes";document.getElementById("t").innerText="Total: "+display+" ("+totalBytes+" B)";</script>
<!-- Padding:
EOT;

// 4. 填充逻辑 (确保 Content-Length = 1024)
$tail = " --></body></html>";
// 计算当前还差多少字节
$current_len = strlen($html_content) + strlen($tail);
$padding_len = $target_size - $current_len;

// 如果长度不足,用 '*' 补齐
if ($padding_len > 0) {
    $html_content .= str_repeat("*", $padding_len);
}

// 5. 输出
$final_output = $html_content . $tail;

header('Content-Type: text/html; charset=utf-8');
header('Content-Length: ' . strlen($final_output));

echo $final_output;
?>
--- EOF ---
订阅本站:feed
声明:博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

标签: none

添加新评论