�Ƕ�API�Υޥ˥奢����ɤ�Ǥ��ɤ��狼��ʤ����Ȥ�¿���ʤäƤ�����
�ʤΤǡ��ܤ��ܤ�Rails�Υ��������ɤൡ����������ޤ�������äѤꥪ���ץ󥽡����äƤ������Ǥ��衣
������Ʃ���ʥץ������ȤäƺǸ����򸫤Ƥ��ޤ���Ȥ����¿���������ޤ���
���ΰ¿����äƽ��פǡ�����㡼�ɥ��ȡ���ޥ�᤬�����Υץ��ץ饤������ʥץ�󥿥ɥ饤�ФΥХ���ľ���ʤ��ƥ��饤�餷���äƸ��äƤ�����ͳ���褯�狼��ޤ���
�����Rails�Υ��å����ˤĤ���Ĵ�٤ޤ�����
�ɤ������Ƥ�����ʬ����ΤǤ��������å�����Ϣ�ν�����������ݤ���Ǥ�����Ӥޤˤ�񤫤�Ƥ����̤���塼�˥󥰤Υݥ���Ȥˤ�ʤꤽ���Ǥ���
�ޤ��ϰʲ��Σ��Ԥǽ����γ��פȤ��Ƥɤ�����ˤʤäƤ���Τ��򸫤Ƥߤޤ�����
request.session['my_key'] = new_value
�ʲ��ְ㤨�Ƥ���Ȥ��������ä��餴��Ŧ����������ȹ����Ǥ���
�ޤ��ϼºݥ����������ɤ�egrep�򤫤��ޤ��ä�Ĵ����
Ruby�Υǥ��ե���ȥ饤�֥��Ȥ����Ȥ߹��ޤ�Ƥ���CGI�äơ�JavaǾ���ͤˤ�̾�������ޥ���ʴ��������Ƥ����ΤǤ褯���Ƥ��ʤ��ä��ΤǤ������ºݤΤȤ���Rails��CGI�ѤˤĤ���줿�饤�֥���١����Ȥ�����Ǥ��͡�CGI���饹�ϡ�Web�����Ф������ץ�������ƤӽФ��ݤ˴Ķ��ѿ��˥᥿�ʾ����Ϳ�����ꡢ�����ץ�����बɸ�����ϤȤ���HTTP���̿��ǡ���������Ϥ����ꤹ�뵬������򤷤Ƥ��ޤ���
�ʤΤǡ����Υ��饹�򥤥󥹥��󥹤���ȡ��Ķ��ѿ���ɸ�����Ϥ���HTTP�ꥯ�����Ȥ�ʬ�Ϥ��Ƥ���ޤ���
Rails�⡢�ǥ��ե���Ȥǥ��ץꥱ�������θƤӽФ��ˤ���CGI�����Ѥ��ޤ���
����ϰʲ��Dz��Ȥʤ���ǧ�Ǥ��ޤ���(kitaj����˶����Ƥ��ä�ancestors�����Ǥ���)
logger.debug( request.class.ancestors.inspect ) # => [ActionController::CgiRequest, ActionController::AbstractRequest, Object, Base64::Deprecated, Base64, Kernel]
����CgiRequest�������Τϰʲ��˥����ɤȤ��ƽ񤫤�Ƥ��ޤ���
rails-1.2.3/lib/displatcher.rb:
request, response = ActionController::CgiRequest.new(cgi, session_options), ActionController::CgiResponse.new(cgi)
������controller����Dz����ʤ��ȤäƤ���request�μ��֤Ϥ�������������Ƥ���CgiRequest�Ǥ���褦�Ǥ���
request.session������������������
����CgiRequest���Ф��ơ�session��������뤿��Υ᥽�åɤ˥�����������ȡ����Ƥξ��CGI::Session.new���¹Ԥ���ޤ���CGI::Session��initialize�Ǥϡ��ʲ��ν�˥��å����ID�򸫤Ƥ����ޤ���
- �ץ�����ब���ꤷ�����å����ID��
- QUERY_STRING�Ȥ����ϤäƤ����ѥ�᡼���˥��å����ID�����ꤵ��Ƥ��ʤ���
- Cookie�˥��å����ID�����ꤵ��Ƥ��ʤ���
- �ɤ�ˤ����ƤϤޤ�ʤ���п����˥��å����ID����������
��������session�������ޤ���
�Ǥ�session['my_key']�Ϥɤ���ǽ���Ƥ���Τ���
session���֥������Ȥ������Ǥ�database_manager�Υ��󥹥��󥹤���äƤ��ޤ���session['my_key']�Τ褦�ˡ����å����ؤΥ���������ȯ������ȡ�����database_manager�إ��٥�Ȥ�ȯ������褦�ˤʤäƤ��ޤ���
- getter: session['my_key']
- ���Ƥξ���database_manager��restore���ƤӽФ��졢�ޤ��ǡ����򥹥ȥ������ɤ߹���褦�ؼ�����ޤ���
- �ǡ�����Hash�Ǥ��ꡢ�ǡ������ɤ߹��ޤ줿�餽�Υǡ�������'my_key'�򻲾Ȥ����֤��ޤ���
- setter: session['my_key'] = new_value
- ���������Ƥξ���database_manager��restore���ƤӽФ��졢�ޤ��ǡ����򥹥ȥ������ɤ߹���褦�ؼ�����ޤ���
- ñ��˥ǡ���'my_key'���ͤ�new_value�Ǿ�ñ¤¤ï¿½ï¿½Þ¤ï¿½ï¿½ï¿½
- ��������Ǥ��ȡ�database_manager�ˤ���¸�ʤɤΥ��٥�Ȥ�ȯ�������ޤ���
- update: session.update
- ���Υ᥽�åɤ��ƤФ��ȥ��ȥ�����¸����ޤ���
- close: session.close
- ���Υ᥽�åɤ��ƤФ��ȥ��ȥ����Ĥ��ޤ�������¸���Ƥ����Ĥ���Τ�����Ū�Ǥ���褦�Ǥ���
- delete: session.delete
- ʸ���̤ꥻ�å����Υǡ����򥹥ȥ����������ޤ���
�����ޤǤΤޤȤ�
���ʲ����ʤ��ȤäƤ���ʲ��Σ��ԤϿ����ͤ���ޤ줿��Τ��Ȥ������Ȥ����Ȥʤ�ʬ���äƤ��ޤ�����request.session['my_key'] = new_value
�褯ʬ����ʤ����ȡġ֤���update/close�����Ρ���
actionpack-1.13.3/lib/action_controller/base.rb��process_cleanup�ǥ��å�����close�����褦�ʤΤǤ�����update�Υ����ߥ󥰤�ޤ�ơ�̤���ˤ����Ƥ�Ǥ��륳���ɤ򸫤Ĥ����Ƥ��ޤ������äȤɤ����ˤ����������ʤ����ȿ����Ƥ����α�ޤäƤ��ޤ���
timeless-classics������쥹-����å��å� http://kuchisui31.exblog.jp/22818515/