我假設瀏覽器聯繫網絡服務器並要求提供「src」(在那些src有問題的情況下)。在機器級別如何處理<script>標記?
是否可以通過任何方式控制該交互? 有多少信息可用於服務器關於誰想要src和什麼時候?
或者,有人可以故意404請求,然後控制404機制作出適當的響應?
我假設瀏覽器聯繫網絡服務器並要求提供「src」(在那些src有問題的情況下)。在機器級別如何處理<script>標記?
是否可以通過任何方式控制該交互? 有多少信息可用於服務器關於誰想要src和什麼時候?
或者,有人可以故意404請求,然後控制404機制作出適當的響應?
不要因爲404處理而亂搞。如果你想動態生成JavaScript,那就沒有必要。
瀏覽器並不關心src=""
屬性中的URL是什麼 - 它當然不必以.js
結尾。重要的是,無論網址是什麼,它都應該返回內容類型爲application/javascript
的內容。
所以做最簡單的事情就是把路徑到PHP(如果這就是你正在使用的)文件,只是確保所返回的是有效的JavaScript,用正確的Content-Type
HTTP標頭中發送
通過src
屬性指定的腳本的處理方式與頁面上的任何其他資源一樣。如果你返回一個404
的代碼,瀏覽器就不會費勁地試圖進一步處理該資源的服務器。服務器獲取所有通常的HTTP請求信息(假設瀏覽器正常發送),並將Referrer:
標題設置爲包含該資源的頁面。
一些web服務器允許自定義404處理程序。這就是我在最後一段中提到的。 – bugmagnet 2010-11-04 07:34:40
當然,爲什麼不把你的整個網站存儲在404處理程序中呢? – 2010-11-04 07:37:32
@boost:是的,但他們仍然會返回404代碼。 – Amber 2010-11-04 07:39:35