我正在C++中製作HTTP服務器,我注意到apache的工作方式是如果您在最後沒有添加正斜槓的情況下請求目錄,firefox仍然知道它是一個你正在請求的目錄(這對於Firefox來說似乎是不可能的,這就是爲什麼我假設Apache正在做重定向)。如何在C++中執行HTTP重定向
那是假設嗎? apache是否檢查您是否正在請求一個目錄,然後使用正斜槓將http重定向到請求?如果這就是apache的工作方式,我該如何在C++中實現它?感謝任何回覆的人。
我正在C++中製作HTTP服務器,我注意到apache的工作方式是如果您在最後沒有添加正斜槓的情況下請求目錄,firefox仍然知道它是一個你正在請求的目錄(這對於Firefox來說似乎是不可能的,這就是爲什麼我假設Apache正在做重定向)。如何在C++中執行HTTP重定向
那是假設嗎? apache是否檢查您是否正在請求一個目錄,然後使用正斜槓將http重定向到請求?如果這就是apache的工作方式,我該如何在C++中實現它?感謝任何回覆的人。
確定是否資源表示一個目錄,如果是這樣一個答覆:
HTTP/1.X 301 Moved Permanently
Location: URI-including-trailing-slash
使用301允許用戶代理緩存重定向。
如果你想做到這一點,您可以:在路徑
我不確定你需要這樣做。安裝Firefox的Web開發者附加組件,以確切地查看來回發生的事情。
說真的,這不應該是一個問題。如何繼續,建議:
一旦你做完了這些事情,應該很明顯該怎麼做。如果你不能做這些事情,你不應該試圖用C++開發Web服務器。
該假設是正確的,並確保您的響應包含允許目錄列表和合法301/302第一行的URL的位置標頭。這不是一個C++問題,它更像是一個HTTP協議問題,因爲您正在嘗試編寫HTTP服務器,正如其他帖子所建議的那樣,請閱讀RFC。
謝謝,這正是我所做的,它的工作非常精美 – adhanlon 2009-12-01 05:33:10