回答
你不能比較兩種方法!
JavaScript只會在客戶端運行,因此您需要先發送HTML,然後執行重定向。 使用PHP,你可以直接轉發用戶。這不僅更快,而且也是唯一適用於可用性的選擇。
如果JavaScript被禁用或者您的JS腳本中出現錯誤(無論出於何種原因),您也會遇到問題。那麼,你可以通過使用HTML元重定向來反擊,但使用服務器端重定向的優點是占主導地位。
如果客戶端不支持/理解JavaScript,速度會更快。 –
更不用說如果JS被禁用,重定向就會失效。 –
它們是不同的。
一個是服務器端(php),另一個是客戶端(js)。
通常它完成了服務器端,所以它是一個透明的重定向(不污染瀏覽器的歷史記錄,後退按鈕等)。我再說一遍:通常是但這不是一個規則。
PHP更快 - 整個頁面不必首先加載。您可以發送標題並退出腳本。
相比客戶端JS,HTTP重定向將:
- 需要較少的數據要被髮送到客戶端爲它來處理重定向指令
- 不導致瀏覽器行爲不端當背按下按鈕
- 工作在瀏覽器中與JS堵塞/殘疾/否則失敗
的HTTP Location頭幾乎總是更好的方法。
- 正確使用HTTP協議的設施和規格。 – deceze
我認爲這取決於案件
如果你需要一些服務器端處理(如更新數據庫或某些安全數據),然後在那個時候 頭重定向客戶端是在這一點,因爲重定向的好方法服務器發送到瀏覽器只是重定向到一個頁面
那裏就好像你的數據在URL被傳遞或沒有數據需要被髮送到其它頁面的JavaScript,然後重定向是又好又快的要求。
- 1. 重定向不適用於JavaScript或PHP
- 2. Plone或Drupal更適合重JavaScript集成嗎?
- 3. PHP header()函數將不會重定向
- 4. PHP - 使用header()重定向到一個文件夾可以嗎?
- 5. header(「location:...」);沒有重定向到新的PHP更新
- 6. header()無法重定向
- 7. header('Location:')無重定向
- 8. 在php中使用'header'加載時重定向的問題
- 9. 更快的重定向,PHP或htaccess?
- 10. PHP header()&exit()會在重定向之前安全地終止腳本嗎?
- 11. javascript無法在php中重定向
- 12. PHP - Include或Header
- 13. 如何更改303重定向到301在PHP中重定向
- 14. 如何在php或javascript中重定向兩次?
- 15. php header重定向和codeigniter中的服務器負載
- 16. php會話在header()重定向後丟失
- 17. .htaccess或JavaScript重定向
- 18. 元或JavaScript重定向
- 19. 重定向htaccess或PHP?
- 20. PHP和JavaScript重定向
- 21. 可以重新定向header()來結束程序流嗎?
- 22. mysql_num_rows();和header();給重定向循環
- 23. http header重定向後輸出
- 24. PHP MYSQL更新/重定向
- 25. 重定向/ .htaccess將舊的PHP參數URL更改爲適合SEO的CakePHP URL?
- 26. URL重定向php或.htaccess在WordPress
- 27. 是「404重定向」合法重定向嗎?
- 28. php header重定向無法正常工作
- 29. 使用php header()函數重定向非www到www
- 30. PHP - header()重定向:Firebug日誌404 - 爲什麼?
如何打印特定文本(JS重定向)PHP重定向? – kero
即使頁面已加載(頁眉已發送),JavaScript重定向也可以重定向,但php無法做到這一點。 – Goikiu
每種方法都有其優點。使用適合您網站特定情況的網站。 – Spudley