該接口無繼承類和引入包
改接口的類頭註釋如下:
/** * 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)。