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. PyCharm的一些设置

    设置使用UTF-8 在任何情况下: 设置写python脚本,新建 脚本的时候默认加的头文件. # !/usr/bin/env python# -*- coding:utf-8 -*-# Author: ...

  2. [UE4]嵌套Canvas

  3. T-SQL 局部变量和全局变量

    局部变量 use StudentManageDB go --声明学号变量 ) --查询李铭的信息 set @stuname='李铭' select StudentId,StudentName,Gend ...

  4. SSH 项目整合

    SSH整合:spring + springmvc + hibernate 1.1 生成Maven项目:ar_ssh 1.2 添加jar包:pom.xml 与ssm相比,主要添加了spring与hibe ...

  5. unity3d动态创建一个文本

    2D文本需要Canvas和EventSystem,最好使用Editor来添加: 动态显示一个文本,采用3D Text的方式: GameObject text = new GameObject(); t ...

  6. 获取Android文件路径

    Environment.getDataDirectory().getPath() : /data Environment.getDownloadCacheDirectory().getPath() : ...

  7. 零基础学习python_类和对象(36-40课)

    今天我们开始学习面向对象的知识咯,之前我对面向对象也学的懵懵的,因为感觉知道好像又不是特别清楚,接下来我们一起来学习类和对象吧.零基础的课程我都是看小甲鱼的视频学的,没基础的可以去这个网址下载视频学习 ...

  8. String,StringBuilder,StringBuffer三者的区别(Java)

    这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面. 1. 首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer &g ...

  9. CentOS7自定义安装git

    1. 介绍 使用Coding管理项目,上面要求使用的git版本为1.8.0以上,而很多yum源上自动安装的git版本为1.7,所以需要掌握手动编译安装git方法. 2. 安装git依赖包yum ins ...

  10. [Unity算法]斜抛运动(变种)

    之前的斜抛运动,如果运动到游戏中,显然是太呆板了,那么可以试着加入一些效果,让它看起来更生动一些,类似游戏中的击飞或者掉落效果: 1.在达到最高点的时间点±X的时间段内,会有“减速”效果,形成一种在空 ...