1、クッキーの基礎
クッキーは、クライアント側に保存されるテキストデータです。

セキュリティ上の制約、
・自分で発行したクッキーにしかアクセスできない。クッキーには発行元のホストの情報が記録されている。
・サイズや数の制限がある
 ァ、クッキーは全部で300個まで
 ィ、1個のクッキーのサイズは4Kバイトまで
 ゥ、サーバ、ドメインごとに20個まで
・クライアントでオフにできる(ブラウザの設定で)
・クッキーはHttpヘッダにより送受信されるので、危険。

2、クッキーの取得、設定
・リクエストで送られたクッキーは、HttpServletRequest.getCookies()で取得する
・レスポンス時にクッキーの追加は、HttpServletResponse.addCookie()を使用する

3、クッキー操作
クッキーの操作はjavax.servlet.http.Cookieインタフェースを利用する
・clone(): java.lang.Object.clone メソッドをオーバライドしています。
・getComment(): Cookieの目的を記述したコメントを返します。
・getDomain(): Cookie にセットされているドメイン名を返します。
・getMaxAge(): Cookie の最長存続期間の値を秒単位の数値で返します。
・getName(): Cookie の名前を返します。
・getPath(): ブラウザが送り返してきた Cookie に含まれているサーバ上のパスを返します。
・getValue(): Cookie の値を返します。
・setComment(): Cookieの目的を記述するコメントをセットします。
・setDomain(): ドメインを指定します。
・setValue(): Cookie が生成された後で、新しい値を設定します。
 等々

4、クッキーの有効期限
・ディフォルトは、ブラウザ終了するまで(セッションと同じ)
・setMaxAge()で期限設定可能

5、URLリライティング
クッキーが利用できない場合、同じクライアントであることを識別しセッションの維持方法として、URLリライティングがある。
URLリライティングは出力するHtmlの次のリンク部分にjsessionidというパラメータを付加することで実現される。
URLにjsessionidの付加は、HttpServletResponse.encodeURL()を使う。

URLリライティングの利用は、ブラウザの設定でクッキーをオフにしておく必要がある。

6、<HIDDEN>タグ
セッション情報を保存する手段の1つに、<HIDDEN>タグを利用する方法がある。
ただ、サブミット時に毎回<HIDDEN>タグも転送されるので、セキュリティや性能によくない。

Servlet基本_クッキー、URLリライティング的更多相关文章

  1. Servlet学习第一天--Servlet开发映射URL配置

    基础不扎实,从头学,认真记录笔记. 感谢@孤傲苍狼:http://www.cnblogs.com/xdp-gacl/p/3760336.html -为什么要配置? 由于客户端是通过URL访问web服务 ...

  2. Servlet基本_初期化パラメータ、外部ファイル

    1.サーブレットの初期化パラメータサーブレットの初期化パラメータを利用するには.必ずweb.xmlにおいてサーブレットマッピングを指定する必要がある.(Tomactのinvokerサーブレットは利用で ...

  3. Servlet基本_サーブレットのライフサイクル、スレッドセーフ

    1.サーブレットのライフサイクル初期化時 ⇒ init() [初回リクエスト時] ↓リクエスト時 ⇒service() ⇒doGet() [Httpリクエストメソッドにより振り分け] 或は⇒doPos ...

  4. -_-#URL区分大小写吗

    Should url be case sensitive?

  5. Servlet基本_セッション属性

    1.概念セッション: ユーザーごとの状態を保存する仕組みです.セッションID: アプリケーションサーバから一意の識別子が割り当てられ.これをセッションIDと言う. 2.サーブレットAPIサーブレットA ...

  6. Servlet基本_オブジェクトのスコープ

    1.スコープ種類Servletには以下のスコープがあります.Request.Session.Applicationの順にスコープは広くなっていきます.・Applicationスコープ:アプリケーション ...

  7. Servlet基本_画面遷移

    画面遷移方法は.下記ようがある.・リクエストのディスパッチ・リダイレクト(画面から) 1.ディスパッチ1)概念サーブレットから他のリソース(サーブレット.JSP.Htmlなど)にリクエストを転送するこ ...

  8. 利用spingmvc及servlet实现对url的地址去除后缀,更改后缀为html

    效果图 1.在web.xml中加上如下配置.其实就是利用servlet的目录过滤,这样所有带有news的地址都会被拦截 <!-- restfull风格约定,去除前台超链接访问的后缀 --> ...

  9. Servlet获取URL地址

    这里来说说用Servlet获取URL地址.在HttpServletRequest类里,有以下六个取URL的函数: getContextPath 取得项目名 getServletPath 取得Servl ...

随机推荐

  1. WordPress更换主题空白问题

    刚才尝试着更换了一个主题,后来发现预览主页的时候是一片空白.查了很多资料,有说是index.php的权限问题,有说是插件问题,有说是UTL-8编码的问题,我都试过了,发现都不行,后来仔细研究了一下,发 ...

  2. 基于folly的AtomicIntrusiveLinkedList无锁队列进行简单封装的多生产多消费模型

    1.基于folly的AtomicIntrusiveLinkedList略微修改的无锁队列代码: #ifndef FOLLY_REVISE_H #define FOLLY_REVISE_H namesp ...

  3. SAS DATA ENCODING 解决odbc乱码问题

    首先获取编码格式: %PUT %SYSFUNC(getOption(ENCODING)); libname findoout ODBC datasrc=SurveyReport user=shendu ...

  4. 微信小程序支付签名老是失败,在官网的校验签名工具校验成功,老是返回签名失败

    在网上也百度了各种签名不正确的解决方法,都没有问题,但签名就是不成功,实在找不出问题了,我就重置了一下api秘钥,结果成功了…… 不知道什么原因第一次填写的api秘钥也是我重置的,填写的也没有问题,但 ...

  5. python第三方库,你要的这里都有

    Python的第三方库多的超出我的想象. python 第三方模块 转 https://github.com/masterpy/zwpy_lst   Chardet,字符编码探测器,可以自动检测文本. ...

  6. 人工智能时代,是时候学点Python了!

    “是时候学点Python了”.作为一名不怎么安分的程序员,你或许觉得,产生这样的想法并不奇怪,但学习Python却是出于自己对工作现状以及如何应对未来挑战所作出的思考.读过我以前博客的朋友,可能都知道 ...

  7. 将16进制的颜色转为rgb颜色

    在前端面试过程中,常常会遇到这样一种类型的题目: 使用js将16进制的颜色值转为rgb颜色! 反而在项目中,不怎么遇到这种问题,也很少有这种需求的项目. 但毕竟面试中常常遇到,我自己在之前的面试的时候 ...

  8. 性能测试day02_后端网络协议架构

    接着第一天的尾,继续来学习性能测试,上一次说到性能要大致经历哪些阶段,那么我们也来看下行业的做法: 行业有两种做法,一个是TPC,另一个是SPEC: TPC:指定业务类型,获得该指定业务的性能指标,也 ...

  9. django之视图系统 views.py-->主要内容(FBV和CBV、dispath、request对象和request.FILES、JsonResponse)

    一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 一 视图的实现可以基于两种方法: 1 基于函数的形式 FBV 使用装饰器装饰FBV  直接在上 ...

  10. day5--装饰器函数的信息打印,迭代器,生成器,列表推导式,内置函数

    本文档主要内容: 一 装饰器函数的信息打印 二 迭代器 三 生成器 四 生成器表达式和列表推导式 五 内置函数 一 装饰器函数的信息打印 一个函数一旦被装饰器给装饰后,这个函数的信息使用原来的命令打印 ...