Java 日看一類(67)之net包中的CookiePolicy接口

該接口無繼承類和引入包




改接口的類頭註釋如下:

/**
 * CookiePolicy implementations decide which cookies should be accepted
 * and which should be rejected. Three pre-defined policy implementations
 * are provided, namely ACCEPT_ALL, ACCEPT_NONE and ACCEPT_ORIGINAL_SERVER.
 *
 * <p>See RFC 2965 sec. 3.3 and 7 for more detail.
 *
 * @author Edward Wang
 * @since 1.6
 */

大意如下:

完成CookiePolicy接口的類可以選擇哪些cookie可以被接收、哪些cookie應該被拒絕

完成該接口的類提供了三種預先設置的策略狀態:ACCEPT_ALL,ACCEPT_NONE和ACCEPT_ORIGINAL_SERVER



該接口含有如下的成員變量:

接收全部cookie的策略

public static final CookiePolicy ACCEPT_ALL = new CookiePolicy(){
    public boolean shouldAccept(URI uri, HttpCookie cookie) {
        return true;
    }
};

拒絕全部cookie的策略

public static final CookiePolicy ACCEPT_NONE = new CookiePolicy(){
    public boolean shouldAccept(URI uri, HttpCookie cookie) {
        return false;
    }
};

僅接受來自原始服務器cookie的策略

public static final CookiePolicy ACCEPT_ORIGINAL_SERVER  = new CookiePolicy(){
    public boolean shouldAccept(URI uri, HttpCookie cookie) {
        if (uri == null || cookie == null)
            return false;
        return HttpCookie.domainMatches(cookie.getDomain(), uri.getHost());//進行來源匹配判定,判定cookie來源和URI來源
    }
};



該接口類含有如下的成員方法:

通過現在的cookie和請求的URI(資源標識符)判定是否應該接收該cookie

public boolean shouldAccept(URI uri, HttpCookie cookie);



該類是應用在用戶端應對服務端請求設置cookie事件的應對政策。對客戶端接收到服務端設置cookie的請求時需要通過該類對該請求進行迴應判定,可根據不同的策略可以限制主機對客戶端的信息追蹤(不能完全限制),同時對信息安全有一些幫助(其他站點無法惡意訪問cookie,因爲你根本就沒設……角度清奇2333)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章