深圳全飞鸿
标题:
C方案过代理服务器表现出来的异常
[打印本页]
作者:
syant
时间:
2025-3-7 23:46
标题:
C方案过代理服务器表现出来的异常
过代理时:
GET
http://116.25.227.238:8008/erp/C.php
HTTP/1.1
Host: 116.25.227.238:8008
Proxy-Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: PHPSESSID=8v7fas0ucrtpt36aucva74fjpm
HTTP/1.1 302 Found
Date: Fri, 07 Mar 2025 15:15:17 GMT
Server: Apache/2.4.54 (Win64) PHP/7.4.33
X-Powered-By: PHP/7.4.33
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-cache,must-revalidate
Pragma: no-cache
Location: /erp/index/login
Content-Length: 3
Content-Type: text/html; charset=utf-8
直接连时:
GET /erp/C.php HTTP/1.1
Host: 116.25.227.238:8008
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: PHPSESSID=8v7fas0ucrtpt36aucva74fjpm
HTTP/1.1 302 Found
Date: Fri, 07 Mar 2025 15:16:57 GMT
Server: Apache/2.4.54 (Win64) PHP/7.4.33
X-Powered-By: PHP/7.4.33
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-cache,must-revalidate
Pragma: no-cache
Location: /erp/C.php/index/login
Content-Length: 3
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=utf-8
作者:
syant
时间:
2025-3-7 23:49
HTTP状态码301、302和304分别表示以下情况:
code information
301(Moved Permanently)
永久重定向。当请求的资源已经被永久地移动到了一个新的URI时,服务器会返回这个状态码。客户端应该使用新的URI来访问资源。在响应头中,服务器会提供一个Location字段,指示资源的新位置。
例如,当一个网页的URL永久更改时,搜索引擎和客户端需要更新其索引和书签。使用301重定向可以确保SEO(搜索引擎优化)价值得到保留。
302(Found)
临时重定向。当请求的资源暂时移动到了另一个URI时,服务器会返回这个状态码。与301不同的是,客户端应该继续使用原始URI访问资源,因为资源的位置可能会再次改变。在响应头中,服务器会提供一个Location字段,指示资源的临时位置。
例如,当一个网页正在进行维护或临时关闭时,可以使用302重定向将用户引导到一个备用页面。
304(Not Modified)
资源未修改。当客户端发送一个带有条件的GET请求(例如,使用If-Modified-Since或If-None-Match头)时,如果资源自上次请求以来未发生更改,服务器会返回这个状态码。这意味着客户端可以继续使用其缓存的资源副本,而无需重新下载。这有助于提高性能和减少服务器负载。
例如,当用户频繁访问一个网页时,浏览器可以向服务器发送条件请求,检查资源是否有更新。如果资源未修改,服务器返回304状态码,浏览器则使用缓存的副本,从而节省带宽和加载时间。
作者:
syant
时间:
2025-3-9 15:32
HTTP/1.1 304 Not Modified
X-Powered-By: Express
ETag: W/"1dfc-BU9MYZkZRJ3O1kn05VyNLO8qUak"
Date: Sun, 09 Mar 2025 07:30:34 GMT
Connection: keep-alive
作者:
syant
时间:
2025-3-9 15:40
服务器通过以下方式知道返回 HTTP/1.1 304 Not Modified:
检查资源的时间戳:当客户端在后续请求中携带 If-Modified-Since 头部时,服务器会将该时间戳与资源的最后修改时间进行对比。如果资源的最后修改时间早于或等于 If-Modified-Since 的时间值,说明资源自上次请求以来没有被修改,服务器就会返回 304 状态码。
验证资源的ETag:ETag 是服务器为每个资源生成的一个唯一标识符,用于表示资源的特定版本。当客户端发送带有 If-None-Match 头部的请求时,服务器会将该头部中的 ETag 值与当前资源的 ETag 进行比较。如果两者匹配,意味着客户端缓存的资源版本与服务器上的最新版本一致,服务器则返回 304 状态码。
查看缓存控制相关头信息:服务器还会查看请求头中的缓存控制相关信息,如 Cache-Control、Expires 等。这些头信息可以帮助服务器判断客户端缓存的有效性以及是否需要重新验证资源。例如,如果 Cache-Control 头设置为 “max-age” 大于 0,且在有效期内,服务器可能会直接返回 304 状态码,而无需进一步检查资源的实际修改情况。
总之,服务器通过多种机制综合判断资源是否被修改,从而决定是否返回 HTTP/1.1 304 Not Modified 状态码,以实现高效的缓存利用和减少不必要的数据传输。
作者:
syant
时间:
2025-3-9 15:42
GET /login HTTP/1.1
Host: 192.168.0.103:88
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Language: en-US,en;q=0.9
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate, br
If-None-Match:
W/"1dfc-BU9MYZkZRJ3O1kn05VyNLO8qUak"
HTTP/1.1 304 Not Modified
X-Powered-By: Express
ETag:
W/"1dfc-BU9MYZkZRJ3O1kn05VyNLO8qUak"
Date: Sun, 09 Mar 2025 07:38:00 GMT
Connection: keep-alive
欢迎光临 深圳全飞鸿 (http://www.nagomes.com/disc/)
Powered by Discuz! X3.2