What is the CONTENT_LENGTH varaible of a CGI?
RFC 3875 以这种方式定义 CONTENT_LENGTH:
The CONTENT_LENGTH variable contains the size of the message-body
attached to the request, if any, in decimal number of octets. If no
data is attached, then NULL (or unset).
1 CONTENT_LENGTH ="" | 1*digitThe server MUST set this meta-variable if and only if the request is
accompanied by a message-body entity. The CONTENT_LENGTH value must
reflect the length of the message-body after the server has removed
any transfer-codings or content-codings.
我不确定这是什么尺寸。
是客户端要发送的数据的大小,即HTTP请求头"Content-Length"的值吗?
或者是HTTP服务器在数据发送到CGI之前从请求中读取的数据的大小?
我问是因为我不确定谁负责检查,客户端要发送的数据量与实际到达的数据量相匹配。 HTTP 服务器是否负责检查大小是否与请求标头中的值匹配,或者 CGI 是否负责计算到达 STDIN 的字节数?如果是这样,如何获取 CGI 请求标头的值?
现在我在我的 CGI 中执行此操作:
1 2 3 4 5 6 | cat > $TMP/upload.csv size=$(stat -c %s"$TMP/upload.csv") if ["$CONTENT_LENGTH" !="$size" ]; then echo"Size missmatch" return -1 fi |
但是这样做对吗?
这里已经讨论过 HTTP
如果你的 body 是二进制传输的,
当你的正文是 7 位 ASCII 编码时,
总结:
在您的情况下,您可能不会将
您的文件可能会与多个
如果您的意图是进行完整性检查;然后使用 HTTPS 进行传输完整性检查,或使用校验和,或其他协议,如带有内置完整性检查的