`
Robinson
  • 浏览: 90619 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Content-Length的正确设定

    博客分类:
  • WEB
阅读更多

Content-Length的正确设定


     该长度在某些web 容器上不需要设定,比如j2ee的servlet如果没有设定会自动计算,但是如果要通过代码明确设定,如php里的header("Content-Length: ".strlen($data));这样设定这个长度,一定要设置正确,比如 Content-Length的值如果大于实际传输文件的长度,可能会让浏览器客户端等待超时,以至于很难找到原因。

 

        昨天我一个同事开发一个php下载时,本来该pdf附件只有66k,但是返回给浏览器的 Content-Length长度是100k,这样一直等待超时,我截包发现server回给浏览器的header长度与实际文件长度相差较大。

 

0
0
分享到:
评论

相关推荐

    SAP PI HTTP Receiver Adapter Configuration.doc

    - `Send HTTP Content-Length header`:发送HTTP Content-Length头。 - `Send HTTP Accept header`:发送HTTP Accept头。 #### 四、总结 通过以上内容我们可以看出,在SAP PI中配置HTTP Receiver Adapter以接收...

    jsp+servlet实现大型文件下载

    4. 设置响应头:设置Content-Type为文件的MIME类型,Content-Disposition设置附件名称,Content-Length为文件大小。 5. 发送文件:使用循环逐块读取文件内容,通过ServletResponse的getOutputStream()方法写入输出流...

    fsockopen get/post 表单及上传文件例子

    这通常会比较复杂,因为需要正确地设定边界和文件信息。以下是一个基本的文件上传示例: ```php $file_path = 'path/to/your/file.txt'; $file_name = basename($file_path); $file_size = filesize($file_path); $...

    php中文乱码解决方案

    header("Content-Length: $file_size"); header("Content-Disposition: attachment; filename=\"$file_name\""); header("Content-Transfer-Encoding: binary"); // 读取文件内容 readfile($file_path); ``` 以上...

    PHP实例开发源码-Ludou 文件下载工具php版.zip

    2. **HTTP头控制**:通过`header`函数,我们可以设置HTTP响应头,比如`Content-Type`定义文件类型,`Content-Disposition`设定文件名和下载提示,`Content-Length`指定文件大小,这些都对正确下载至关重要。...

    Web应用安全:HTTP头消息.pptx

    响应头中,Location头指示资源的新位置,Set-Cookie头用于设置或修改客户端的Cookie,Server头包含服务器软件信息,Content-Length头给出响应实体的长度,Content-Type头定义了响应实体的MIME类型。 Web应用安全...

    php下载文件的代码示例

    `Content-Transfer-Encoding`设定为`binary`,确保数据在传输过程中不会被改变。`Expires`、`Cache-Control`和`Pragma`头用于防止缓存问题。`Content-Length`指示文件的大小,以字节为单位。`ob_clean()`和`flush()`...

    上传下载EXCEL与解析

    服务器需要能够正确找到并读取要发送的文件,并设置好响应的Content-Type和Content-Length头。 3. Excel解析:解析Excel文件主要分为两种方式:一种是基于库的方式,如Java的Apache POI,Python的pandas和openpyxl...

    C#在WinForm下使用HttpWebRequest上传文件并显示进度

    request.ContentLength = fileStream.Length; Stream requestStream = request.GetRequestStream(); fileStream.CopyTo(requestStream); requestStream.Close(); ``` 5. **添加额外的表单字段**:如果服务器需要...

    asp.net C#实现下载文件的六种方法实例

    `Content-Length`告诉浏览器文件的总大小,`Content-Transfer-Encoding`设置为"binary"确保二进制数据正确传输。`WriteFile`方法接收文件的完整路径,将文件内容写入响应流,然后结束响应。这种方法虽然比...

    HTTP大文件传输方案

    使用`chunked`编码时,Content-Length头被省略。每一块数据前需附带以十六进制格式表示的块长度,后跟`\r\n`,然后是块本身及另一个`\r\n`。最后一块长度为0,表示传输结束。 - **Chunked Transfer Coding**: - `...

    PHP 常用的header头部定义汇总

    - `Content-Length: 1234`:指定响应内容的长度,确保浏览器正确接收数据。 - `Last-Modified: .gmdate('D, d M Y H:i:s', $time).' GMT'`:告知浏览器文档的最后修改时间,有利于缓存管理。 5. **内容类型**: ...

    PHP header()函数常用方法总结

    `header('Content-Length: 1234');` 告诉浏览器即将接收的数据长度。 10. **下载设置**: - `header('Content-Type: application/octet-stream');` - `header('Content-Disposition: attachment; filename=...

    servlet 文件上传、下载

    1. **Response配置**:为了提供文件下载,我们需要设置`HttpServletResponse`的头信息,包括Content-Type(根据文件类型设定),Content-Disposition(指定文件名)以及Content-Length(文件大小)。 2. **流操作**...

    asp文件上传下载模块(完全能实现)

    filename=xxx",提示用户下载)和Content-Length(文件大小)。 - **文件流**:服务器读取文件内容,并通过Response对象的Write方法将其发送到客户端。 3. **安全性**: - **文件名处理**:避免使用用户提供的...

    Java文件上传与下载的例子

    设置合适的HTTP响应头,如`Content-Type`(根据文件类型设定)、`Content-Disposition`(指示浏览器如何显示文件,如设置为"attachment"可触发下载对话框)和`Content-Length`(文件大小)。 2. **流操作** 使用`...

    php使用 readfile() 函数设置文件大小大小的方法

    header('Content-Length: ' . filesize($zipfile)); // 指定文件大小 ob_clean(); // 清除缓冲区 flush(); // 输出缓冲区 @readfile($zipfile); // 读取并输出文件 unlink($zipfile); // 下载完成后删除临时文件 `...

    php_web项目中utf-8的问题.do

    此函数首先判断字符串长度是否超过设定的最大长度。若超过,则计算字符串中非ASCII字符的数量,并根据该数量决定如何截取字符串以避免出现乱码。最后,返回处理后的字符串。 #### 总结 在开发支持多语言的PHP Web...

    servlet实现文件下载的步骤及说明详解

    filename=" + fileName)`设定文件的默认保存名称。`attachment`表明数据应该作为附件下载,而不是在浏览器中打开。 - **读取文件**:获取文件的绝对路径,然后使用`FileInputStream`打开文件进行读取。 - **输出...

    ASP文件与图片上传与下载

    1. **生成HTTP响应**:在C#代码中,通过`HttpResponse`对象设置HTTP响应头,包括`Content-Type`(根据文件类型设置)、`Content-Disposition`(定义附件名称),以及`Content-Length`(文件大小)。 2. **读取文件...

Global site tag (gtag.js) - Google Analytics