2002�N11��

<![if !supportEmptyParas]> <![endif]>

JavaScript�ɂ�����URL�G���R�[�h�̏���

������ЃN���X

<![if !supportEmptyParas]> <![endif]>

���̃����́AJavaScript�ŃN�b�L�[����������ꍇ�̃|�C���g�����������AURL�G���R�[�h�Ɋւ��g���u����������Ă����������Ƃ�ړI�ɂ��Ă��܂��B���}���̕���3�͂�4�͂��΂��ēǂ�Œ����č\���܂���B�Ȃ����̃����͂Ȃ�ׂ�IE�ł����������B

<![if !supportEmptyParas]> <![endif]>

�ڎ�

1.  1�@�N�b�L�[��URL�G���R�[�f�B���O

2.  2�@URL�G���R�[�f�B���O�Ƃ�

3.  3�@JavaScript�ɂ�����escape()��unescape()�֐�

4.  4�@JavaScript�ɂ�����encodeURI�AdecodeURI�AencodeURIComponent�AdecodeURIComponent

5.  5�@����ł͈�̂ǂ�����΂悢���H

6.  6�@UTF-8��URL�G���R�[�h�E�f�R�[�h�֐��̗�F

�v���O������

7.  7�@JSP��JavaScript�Ԃ̃N�b�L�[�ɂ��f�[�^������

<![if !supportEmptyParas]> <![endif]>

HTML�e�L�X�g�ȊO�ɃE�F�u�E�T�[�o���u���E�U�ɏ���n����i�́AHTTP�������b�Z�[�W�̃w�b�_�����ɂ��̏����Z�b�g���邱�Ƃł��i�{�f�B�����ɂ͒ʏ�HTML�e�L�X�g������܂��j�B�T�[�o������̓N�b�L�[�ݒ�̃w�b�_�s�⎩���ō�������ʂȃw�b�_�s�ɏ����Z�b�g�ł��܂��B�����́i���O�A�l�j�̃y�A�̌`�����Ƃ�܂��B

<![if !supportEmptyParas]> <![endif]>

HTML�e�L�X�g�O�œn�������́A�u���E�U��ʂɕ\������Ȃ��̂ŁA�\���̖ړI�ȊO�̃Z�b�V�����Ǘ��ȂǂɎg���܂��B�T�[�u���b�g�ɂ�����N�b�L�[�ɂ��Z�b�V�����ێ��̃��J�j�Y���́A�܂��������̓����𗘗p�������̂ł��B�Z�b�V�����ȊO�ɂ��N���C�A���g�Ƃ̊e��Ǘ����i�u���E�U�̃^�C�v��o�[�W�����A���[�U���Ȃǁj�A�Í����̂��߂̏��i��������Ȃǁj�̌�M�Ƃ��������p���l�����܂��B�܂��������N�b�L�[�̓N���C�A���g�ɒ~�ς����̂ŁA�J��Ԃ��\�����ʂɋ��ʂ̏����ŏ��ɃN�b�L�[�ő����Ă��܂����Ƃ��”\�ł��B�܂��A�t�H�[���ɕ\�����Ȃ��ŕK�v�ȏ����T�[�o�ɕԂ����Ƃ��o���܂��B

<![if !supportEmptyParas]> <![endif]>

���Ƃ���Tomcat�Ȃǂ̃T�[�u���b�g�E�G���W�����Z�b�V�����ێ��Ɏg���Ă���(�gjsessionid�h, ID)�̗ނ̃��J�j�Y���ȊO�ɁA�����Əڍׂɂ��̃Z�b�V�����̏��i���[�U�̖��O�Ȃǁj���N���C�A���g�ňێ����A�K�v�ɉ��������\������Ȃǂ��”\�ɂȂ�܂��B

<![if !supportEmptyParas]> <![endif]>

JavaScript�ɂ����ẮAHTTP�������b�Z�[�W�̃w�b�_�s�𒼐ڎ��o���@�\�͎c�O�Ȃ��炠��܂���B�������Ȃ���Window.document.cookie�I�u�W�F�N�g���g���āA�N�b�L�[��������̂���肪�”\�ł��B�������Ȃ���A��q�̂悤��HTTP���b�Z�[�W�̃w�b�_�s��URL�G���R�[�h����˂΂Ȃ�܂���BASCII�����Z�b�g�����ōςމ��Ăƈ���ĉ�X�̂悤��2�o�C�g�̕����Z�b�g��W���I�Ɏg���ꍇ�́AURL�G���R�[�h�ɒ��ӂ��Ȃ���΂Ȃ�܂���B�F���񂪔Y�݂܂������N�����₷���̂͂��̓_�ł��傤�B

<![if !supportEmptyParas]> <![endif]>

���̃����́AJavaScript�ŃN�b�L�[����������ꍇ�̃|�C���g�����������AURL�G���R�[�h�Ɋւ��g���u����������Ă����������Ƃ�ړI�ɂ��Ă��܂��B

<![if !supportEmptyParas]> <![endif]>


<![if !supportEmptyParas]> <![endif]>

<![if !supportLists]>1.        <![endif]>�N�b�L�[��URL�G���R�[�f�B���O

<![if !supportEmptyParas]> <![endif]>

�N�b�L�[��URL�G���R�[�f�B���O�̊�{�I�Ȓm�����K�v�ɂȂ�܂��̂ŁA�ŏ��ɂ��̃|�C���g������ł��������܂��B

<![if !supportEmptyParas]> <![endif]>

�ʏ�cookie�̓A�v���P�[�V�����E�T�[�o��HTTP�����̃p�P�b�g�̃w�b�_�����ɃZ�b�g���ău���E�U�ɓn���܂��B�Ⴆ��IBM�̃T�[�u���b�g�E�G���W���͎��̂悤��HTTP�̃w�b�_�s��HTTP�����ɂ‚��ăZ�b�V�����i�T�[�r�X�ƃN���C�A���g�Ƃ̑Ή��̎��ʁj�̈ێ����Ƃ낤�Ƃ��Ă��܂��B���̗�i�j�ł�sessionid�Ƃ����u���O�v�̕ϐ���LV�E�E�Ȃ�u�l�v�̑g��n���Ă��܂��B

Set-Cookie: sessionid=LV140HYAAAABZQ....;Path=/

���̂悤��cookie��HTTP�p�P�b�g�̃w�b�_�s�ɂ���ē`�B�����̂ŁA2�o�C�g�������h;�h���h=�h�Ȃǂ̊댯�ȁi�v���g�R����Ӗ������j�������܂ށu���O�v��u�l�v������cookie���N���C�A���g�ɓn���Ƃ��́A�댯�ȃo�C�g�������܂܂Ȃ��悤URL�G���R�[�h���āA�o�C�g��Ƃ��ē`�B���˂΂Ȃ�܂���B

<![if !supportEmptyParas]> <![endif]>

�}���`�o�C�g�������T�[�u���b�g�E�G���W���͉ʂ����Ă����F�����Ď����I��URL�G���R�[�h���Ă����̂��낤���������Ă݂܂��傤�B

<![if !supportEmptyParas]> <![endif]>

���̃T�[�u���b�g�̓l�b�g��(http://ash.jp/java/hellocookie.htm)�Ō��J����Ă����v���O�����Ɉꕔ������������̂ł��B���̃v���O�����̓T�[�u���b�g�ɂ�����N�b�L�[�����Ɋւ���q���g�������Ă��܂��̂ŁA�ЂƂƂ��藝�����Ă��������B

import java.io.*;

import java.net.*;

import javax.servlet.*;

import javax.servlet.http.*;

/** �N�b�L�[�ǂݏ����T�[�u���b�g **/

public class HelloCookie0 extends HttpServlet {

  public void doGet (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {

    PrintWriter out;

    Cookie[] cookies;

    Cookie cookie;

    // Cookie�̎擾

    cookies = req.getCookies();

    cookie = null;

    if (cookies != null){

      for(int i=0; i < cookies.length; i++) {

        cookie = cookies[i];

        if (cookie.getName().equals("HelloCookie")) { break; }

      }

    }

    res.setContentType("text/html; charset=Shift_JIS");

    out = res.getWriter();

    HttpSession session = req.getSession();  // Session�̎擾�Ə�������

    session.setMaxInactiveInterval(600);       // 10���ԗL��

    if (session.isNew()) {     // Cookie�̏�����

      cookie = new Cookie("HelloCookie", "Hello World!");

      cookie.setMaxAge(60);   // �L�����Ԃ�1���Ő؂��

      res.addCookie(cookie);

      out.println("<html><body>");

      out.println("<h1>Write Cookie</h1>");

      out.println("<p>�����[�h���Ă��������B</p>");

      out.println("</body></html>");

    } else {      // Cookie�̕\��

      out.println("<html><body>");

      out.println("<h1>");

      for(int i=0; i < cookies.length; i++) {

        cookie = cookies[i];

        out.println(cookie.getName()+" : "+ new String(cookie.getValue().getBytes("8859_1"), "Shift_JIS"));

        out.println("<BR>");

      }

      out.println("</h1>");

      out.println("<p>Cookie�̃T���v���iHelloCookie0.java�j</p>");

      out.println("</body></html>");

    }

  }

}

���̃v���O������cookie = new Cookie("HelloCookie", "Hello World!");�Ƃ����s�́u�l�v�̕�����Ɋ�����댯�ȕ�����ݒ肷��ƃT�[�u���b�g�E�G���W���͂ǂ̂悤�ȉ����p�P�b�g�𑗐M���邩�����Ă݂܂��傤�B

<![if !supportEmptyParas]> <![endif]>

<![if !supportLists]>a)       <![endif]>�hHello ���{!�h�ƕς���telnet�̃\�t�g�E�G�A�ŃA�N�Z�X����Ǝ��̂悤�Ȍ��ʂ������܂��B�ŏ���2�s�i�󔒍s���܂ށj��telnet��������HTTP�v�����b�Z�[�W�ł��B����ȍ~���T�[�u���b�g�E�G���W���i�����ł�Tomcat�j���Ԃ���HTTP�������b�Z�[�W�ł��B�O�����w�b�_�����A�Ō��4�s���{�f�B�����ł��B����HTTP�����̃w�b�_����������ƁASet-Cookie�Ȃ�w�b�_�s��2�s���݂��邱�Ƃ���������ł��傤�B�ŏ��̓T�[�u���b�g���쐬�������̂ŁA��̂̓T�[�u���b�g�E�G���W�����Z�b�V�����ێ��ׂ̈ɍ쐬�������̂ł��B�]���āA�u���E�U�ɂ��Ă݂�ƁA2�‚̃N�b�L�[���n���ꂽ�Ƃ������ƂɂȂ�܂��B�u���E�U���ł����̃N�b�L�[�ɉ����ύX�������Ȃ���΁A�T�u�~�b�g�E�{�^���Ȃǂł���URL���ēx�A�N�Z�X�����Ƃ��ɂ́A�����̃N�b�L�[�͗L���������؂�Ă��Ȃ���΂��̂܂܃T�[�o�ɕԂ���܂��B

GET /examples/servlet/HelloCookie0 HTTP/1.0

<![if !supportEmptyParas]> <![endif]>

HTTP/1.1 200 OK

Content-Type: text/html; charset=Shift_JIS

Connection: close

Date: Wed, 30 Oct 2002 03:45:24 GMT

Server: Apache Tomcat/4.0.4-b3 (HTTP/1.1 Connector)

Set-Cookie: HelloCookie=Hello ���{!;Expires=Wed, 30-Oct-2002 03:50:25 GMT

Set-Cookie: JSESSIONID=BAFB93DD6C7848751C369747B316DB6C;Path=/examples

<![if !supportEmptyParas]> <![endif]>

<html><body>

<h1>Write Cookie</h1>

<p>�����[�h�����������B</p>

</body></html>

<![if !supportEmptyParas]> <![endif]>

<![if !supportLists]>b)       <![endif]>���Ă���HTTP�������b�Z�[�W���݂�ƁAtelnet�̑Ή������Z�b�g��Shift_JIS�Ƃ����̂ŁA�gHello ���{!�h�̕����͕����������N�����Ȃ��Ő������ǂݏo����Ă��܂��B�܂��AIE(v6)��http://localhost:8080/examples/servlet/HelloCookie0�ƃA�N�Z�X���A�F�����PC��C:\WINDOWS\Cookies�𒲂ׂ�ƁA���̃N�b�L�[�������������Ȃ��Ŏ󗝂���Ă���̂��m�F�ł���ł��傤�B�ł��A���͂���́A���܂��܂��܂��������Ƃ��������Ȃ̂ł��B�h���{�h�Ƃ���������Shift_JIS�Ƃ��ăw�b�_�ɓ����Ă���̂ł����A���̃o�C�g��̂ǂ̃o�C�g��ASCII�́u�댯�ȕ����v�ɗ����Ă��Ȃ�����ł��B�X�ɁA���̎����ł̓��[�J���̃z�X�g���g���Ă���A�l�b�g���[�N����Ă͂��܂���B�l�b�g���[�N�̃m�[�h�ɂ���Ắi�Â��V�X�e���ł����j7�r�b�g�����`�����ꂸ�A�ŏ�ʂ�1�r�b�g(MSB)�͌�茟�o�⓯���Ȃǂ̖ړI�Ɏg���Ă�����̂�����܂��B���̂悤�ȃm�[�h������HTTP���b�Z�[�W���ʉ߂���ƁA���R���������𐶂��Ă��܂��܂��B

<![if !supportEmptyParas]> <![endif]>

<![if !supportLists]>c)        <![endif]>�댯�ȕ������܂ޕ����񂪃N�b�L�[�́u�l�v�̏ꏊ�ɃZ�b�g���ꂽ��ǂ��Ȃ�ł��傤���H�N�b�L�[�́u���O�v�Ɋ댯��1�o�C�g�������܂܂�Ă���ƃT�[�u���b�g�E�G���W���͗�O�𐶂���悤�K�肳��Ă���̂ł����A�u�l�v�ɂ͂��̂悤�Ȑ��񂪂ǂ������󂾂��K�肳��Ă��܂���B�������h AAA ;B%BB�h�ƃX�y�[�X�ƃZ�~�R�������܂ޕ������o�͂��Ă݂悤�Btelnet�ł��̃T�[�u���b�g���Ăяo���Č���Ǝ��̂悤��HTTP�����p�P�b�g���ώ@���邱�Ƃ��ł��܂��B

HTTP/1.1 200 OK

Content-Type: text/html; charset=Shift_JIS

Connection: close

Date: Tue, 22 Oct 2002 04:39:25 GMT

Server: Apache Tomcat/4.0.4-b3 (HTTP/1.1 Connector)

Set-Cookie: HelloCookie=Hello AAA;B%BB;Expires=Tue, 22-Oct-2002 04:44:26 GMT

�ȉ��ȗ�

������u���E�U(IE6)�͂ǂ̂悤�Ɏ�荞�񂾂���Explorer�Ō����C:\WINDOWS\Cookies�̃f�B���N�g���ɋL�^����Ă���t�@�C���͎��̂悤�ȃe�L�X�g�ɂȂ��Ă��܂��B�‚܂�X�y�[�X�͎󂯕t�������Z�~�R�����ȍ~�̓N�b�L�[�Ƃ��Ă͎󂯕t���Ă͂��Ȃ��̂ł��B�Z�~�R�����̓C���^�[�l�b�g�̐��E�ł́u��؂蕶���v�Ȃ̂ł��B

HelloCookie

AAA

localhost/examples/servlet/

1024

1088345728

29522332

2383813024

29522331

*

<![if !supportEmptyParas]> <![endif]>

���̏͂ŏڂ����������܂����AURL�G���R�[�f�B���O��MSB��1�̃o�C�g��A�C���^�[�l�b�g��œ��ʂ̈Ӗ�������7�r�b�gASCII�������A7�r�b�gASCII�������g���č��������Ȃ��ő��邽�߂̎d�g�݂Ȃ̂ł��B

<![if !supportEmptyParas]> <![endif]>

����܂ł̎������炨������̂悤�ɁA�N�b�L�[�̑��M�ɂ������Ă͖��O�A�l�Ƃ�URL�G���R�[�h���đ��邱�Ƃ���������܂��B�����NetScape�Ђ̉�����ł���������Ă��邱�Ƃł���܂��B�Ȃ��T�[�u���b�g�E�G���W�����Z�b�V�����ێ��ׂ̈�cookie���Z�b�g����Ƃ���URL�G���R�[�h���Ă͂��Ȃ��A�Ƃ�����URL�G���R�[�h�̕K�v�̂Ȃ����������g���Ă��܂���iURL�ϊ����Ă����̕ω��������܂���j�Btelnet�ȂǂŌ������₷���i�o�C�g�̂܂܂ł��u���O�v�����̂܂ܓǂ߂�j�悤�A�u���O�v��URL�G���R�[�h�Ɉ���������Ȃ��p���̕�����ɂ��邱�Ƃ��g���u���h�~�ɂȂ�ł��傤�B

<![if !supportEmptyParas]> <![endif]>

���āA���̂悤�ɖ��O�ƒl�o����Java��URLEncoder�ŃG���R�[�h���č�����N�b�L�[�͂ǂ̂悤�Ƀu���E�U���������邩���ׂĂ݂܂��傤�B

      String namestring = "���t������b";

      String valuestring = "���򏃈�Y";

      namestring = URLEncoder.encode(namestring, "Shift_JIS");

      valuestring = URLEncoder.encode(valuestring, "Shift_JIS");

      cookie = new Cookie(namestring, valuestring);

��������ƁAc:\windows\cookies�̃t�@�C���𒲂ׂĂ݂�Ǝ��̂悤�Ƀu���E�U��URL�G���R�[�h���ꂽ����������̂܂܎󂯎���Ă��邾�����ƌ������Ƃ��킩��܂��B��������ɖ߂��̂̓v���O���}�̐ӔC�Ƃ�����ł��B

%93%E0%8A%74%91%8D%97%9D%91%E5%90%62

%8F%AC%90%F2%8F%83%88%EA%98%59

localhost/examples/servlet/

1024

3287822464

29522316

294622464

29522316

*

<![if !supportEmptyParas]> <![endif]>

�‚܂�Netscape�̍l�����́A�u�N�b�L�[��1�o�C�g�����ŁA���ˆ��S�ȕ����ō\�����ꂽ�����񂪖��O�ƒl�̃y�A�Ƃ��đ��݂��Ă��邱�Ƃ�O��Ƃ��Ă���B�����łȂ�����������̂悤�Ȑ���ɂ��������ĕϊ����Ďg���̂̓v���O���}�̐ӔC�ł���v�Ƃ������̂ł��傤�B

<![if !supportEmptyParas]> <![endif]>

�擪�ɖ߂�


<![if !supportEmptyParas]> <![endif]>

<![if !supportEmptyParas]> <![endif]>

<![if !supportLists]>2.        <![endif]>URL�G���R�[�f�B���O�Ƃ�

<![if !supportEmptyParas]> <![endif]>

�ǂ̂悤�ȃo�C�g��ł�7�r�b�g������ASCII�������g���ăC���^�[�l�b�g�̖Ԃ�ʉ߂����邽�߂̎d�g�݂Ƃ��Ă�URL�G���R�[�f�B���O�A���邢�͂��̋t��URL�f�R�[�f�B���O�ɂ‚��Ă��������ڍׂɗ������邱�Ƃɂ��܂��B

<![if !supportEmptyParas]> <![endif]>

���[��(SMTP)��HTTP�Ȃǂ̃p�P�b�g�́A�w�b�_���Ɉ���₻�̑����b�Z�[�W�̐���Ɋւ���񂪍ڂ����܂��B���̃w�b�_�͓r���́i�w�b�_�����߂����j�Q�[�g�E�G�[����‚����p����A�[����[�̃m�[�h�ɓ`�B�����̂ŁA�����̃m�[�h�ɗ����ł���R�[�h�ƕ����ŕ\������Ȃ���΂Ȃ�܂���B�w�b�_���ɓ��{��̂悤��2�o�C�g�̕���������ƁA�m�[�h�͂����1�o�C�g���‰��߂��悤�Ƃ��܂��B���̂Ƃ��ɂ��̃o�C�g�̂ǂꂩ���m�[�h�ɂƂ��ē��ʂ̈Ӗ������ƒo�C�g�ł�������A���������ʂ������Ȃ��Ȃ��Ă��܂��܂��B�X�Ƀl�b�g���[�N�ɂ���Ă͊e�o�C�g�̈�ԏ�̃r�b�g(MSB)������������`���m�[�h�����݂��܂��B�]���Ăǂ̂悤�ȕ����ł����Ă����̂悤�Ȑ���̂Ȃ��ň��S�Ɋ��“��ߓI�ɓ`������邱�Ƃ��K�v�ɂȂ�܂��B��̓I�ɂ�7�r�b�g�Ŋ��u���S�ȁvASCII(American Standard Code for Information Interchange)�����Z�b�g����Ȃ镶����ɕϊ����ăC���^�[�l�b�g��ʂ��Ƃ������Ƃł��B���̂悤�Ȏd�g�݂Ƃ���URL�G���R�[�h���l�����܂����BURL�G���R�[�h�Ƃ����̂́A���Ƃ��ƃw�b�_����URL������2�o�C�g�����␧�䕶���ƕ���킵������������̂�h�~���邽�߂ɍl����ꂽ���炻���Ă΂�Ă��܂��B������������������ׂāu������v������ɕϊ�����͓̂s�����ǂ����Ƃ������A���b�Z�[�W�̃{�f�B�����̓`�B�ɂ��g���܂��B�{�f�B�����̕ϊ��ɂ͂����ЂƂ�MIME(Multi-Purpose Internet Mail Extensions)�̃G���R�[�f�B���O������܂��B�����2�o�C�g�̃o�C�i���E�f�[�^��3�o�C�g��7�r�b�gASCII�����ɕϊ�������̂ŁA�}���`���f�B�A���̓]���Ɏg���܂��B

<![if !supportEmptyParas]> <![endif]>

URL�G���R�[�h�̎菇�͈ȉ��̂悤�ł��B

<![if !supportEmptyParas]> <![endif]>

<![if !supportLists]>