爲何刷新驗證碼要加入一個隨機數

<div class="controls">
    <div class="input-icon left">
        <i class="icon-lock"></i>
        <input class="m-wrap placeholder-no-fix" style="width: 175px;" type="text" placeholder="驗證碼" name="checkCode"/>
        <img src="{{ URL('captcha/1') }}" id="checkCode" onclick="reloadcode(this)">
    </div>
</div>
<script language="javascript" >
    function reloadcode(obj) {
        obj.src = "{{ URL('captcha/1') }}"+Math.random();
        //這裏必須加入隨機數否則地址相同會從新加載
    }
</script>

因爲瀏覽器會對同一 url 的圖像進行緩存,向減小服務器端的請求次數,提升瀏覽性能,javascript

利用附加一個隨機數,來避免客戶端瀏覽器使用緩存。讓每次點擊刷新驗證碼的時候請求的 URL 路徑都不一樣,告訴瀏覽器上個圖片已經失效了,須要從新向服務器上請求新的圖片信息。
由於若是每次都是請求同一個頁面,此時客戶端瀏覽器會調用緩存中的頁面
而若是你每次都附加一個不一樣隨機數給url,那麼客戶端會覺得是新的頁面,從而會想服務器請求,這樣才能實現每次點擊都會刷新驗證碼的效果java

相關文章
相關標籤/搜索