0
我使用sleep(50)函數,然後在服務器響應之前請求服務器,我關閉瀏覽器,但相應的響應代碼仍然是200,我希望它會是499。如何創建HTTP 499請求讓服務器記錄HTTP 499訪問日誌?如何創建HTTP-499請求
我使用sleep(50)函數,然後在服務器響應之前請求服務器,我關閉瀏覽器,但相應的響應代碼仍然是200,我希望它會是499。如何創建HTTP 499請求讓服務器記錄HTTP 499訪問日誌?如何創建HTTP-499請求
您需要將整個請求發送到Nginx,然後關閉客戶端連接,而Nginx正在處理響應。如果你正在請求一個靜態文件,Nginx在處理你的請求時會非常快,而且你的連接將會在你的請求被完全接收的那個很短的窗口和Nginx尚未提供的響應之間停止。
我已經嘗試過來自客戶端的大量輸入,在請求傳輸結束之前關閉,這只是一個錯誤400.您確實需要關閉Nginx響應處理的短時間,這很難。
除非您使用動態語言(如通過fastcgi的PHP)來處理響應(或nginx是您的控件中的某個東西的反向代理)。然後很容易在響應端上添加sleep()
。
頂部的index.php
文件只需添加此:
sleep(30);
會給你一個30秒時間窗口關閉瀏覽器。
結果:
127.0.0.1 - - [21/Oct/2016:11:24:23 +0000] "GET/HTTP/1.1" 499 0 "-" "-" "-"
它的工作原理。
我在'index.php'文件的頂部添加了'sleep(30)'。即使在請求後我立即關閉瀏覽器。 nginx仍然記錄200.然後我懷疑當我關閉瀏覽器時,請求不會中止。因爲我使用提琴手作爲proxy.so我中止在新請求所屬的提琴手中的會話。然後nginx記錄一個499.但我不明白原因。 – Kay