Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTTP头是否告诉我们文件是否已下载、上载或访问?_Http_Http Headers_Handshake - Fatal编程技术网

HTTP头是否告诉我们文件是否已下载、上载或访问?

HTTP头是否告诉我们文件是否已下载、上载或访问?,http,http-headers,handshake,Http,Http Headers,Handshake,我正在使用HTTP头,如下所示 GET /success.txt HTTP/1.1 Host: detectportal.firefox.com User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Accept: */* Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Cache-Control

我正在使用HTTP头,如下所示

    GET /success.txt HTTP/1.1
    Host: detectportal.firefox.com
    User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0)
    Accept: */*
    Accept-Language: en-US,en;q=0.5
    Accept-Encoding: gzip, deflate
    Cache-Control: no-cache
    Pragma: no-cache
    Connection: keep-alive

    HTTP/1.1 200 OK
    Content-Type: text/plain
    Content-Length: 8
    Last-Modified: Mon, 15 May 2017 18:04:40 GMT
    ETag: "ae780585fb7d28906123"
    Accept-Ranges: bytes
    Server: AmazonS3
    X-Amz-Cf-Id: iMjet-5hLAEAf8HyvtHWnotG4mkD7VeN7A==
    Cache-Control: no-cache, no-store, must-revalidate
    Date: Mon, 24 Jul 2017 18:24:08 GMT
    Connection: keep-alive
从上面的握手可以看出,这是一次成功的双向握手。我只是想知道这种类型的握手是否能告诉我们文件是否被下载、上传或访问?如果没有,我们如何从头文件中知道发生了哪些操作? 谢谢

有没有办法知道pdf文件是从[捕获的包含这些]HTTP头的网络数据包]下载的

否。标题描述一个资源,以及随后的资源内容(可选)

没有人阻止您在读取标题后关闭连接,从而导致内容无法下载

因此,仅仅看到这些标题在网络上飞过并不能证明有人真的看到了响应的内容,即使有

但一般来说,如果一个请求有一个负载,你可以说“某物”被上传了,如果一个响应有一个负载,你可以说“某物”被下载了。可以通过检查请求的内容类型头来获得上传的内容。请注意,“文件”的概念在通过网络传输时变得模糊。响应请求的web服务器可能会在内存中生成PDF文档,并使用提示另存为的标题提供该文档。。。浏览器中的对话框。你能说“文件”被下载了吗?如果站点提供服务器磁盘上存在的CSS文件(浏览器呈现该文件,但不存储在磁盘上,缓存除外),该怎么办?当时有“下载”文件吗


请参见如何确定消息的长度

如果仅通过查看标题就想知道HTTP响应是否针对HTML文档以外的文件,请检查
内容类型
标题。它包含正在发送的内容的列表,例如html文件的
text/html
、css文件的
text/css
、pdf文件的
application/pdf
application/x-pdf
以及mp4视频的
video/mp4
等。官方列表位于

Nope。为什么您希望这些信息出现在标题中?你所说的“下载、上传或访问”到底是什么意思?您试图解决什么问题?为什么要查看HTTP响应头以获得解决方案?它也不是“握手”(一个用来表示某种连接开始的术语),而是一个请求-响应对。总的来说,你的问题听起来真的有误导性,可能需要解释一下你实际上在做什么。假设你请求了一个pdf页面,然后从网上下载,或者只是阅读并关闭它,与此同时,你使用wireshark或其他东西捕获流量,那么,有没有办法知道pdf文件是从HTTP头下载的呢?现在还不清楚你为什么问这个问题,但我将提供一个答案来回答这个问题。我认为你不能用它做任何有用的事。也许这不是一个假设性的问题,解释一下你到底想做什么。好的,谢谢。我只是想知道有没有办法。我感谢你的时间。最后一次,“一种方法”到底是什么?你想证明有人在你的网络上下载了什么东西吗?这是一种了解我使用wireshark中的“跟随tcp流”从Http头上传或下载了什么东西的方法。通常,如果一个请求有一个内容长度头,那么就上传了什么东西,如果一个响应有一个内容长度头,下载了一些东西。除非在发送或接收有效负载之前连接已关闭。或者除非分块或连接:没有内容长度的close在起作用。好吧,这就是我想要的答案。再次感谢