[BACK]Return to ox-rfc-104.oxw CVS log [TXT][DIR] Up to [local] / OpenXM / doc / OpenXM-specs

Annotation of OpenXM/doc/OpenXM-specs/ox-rfc-104.oxw, Revision 1.1

1.1     ! takayama    1: $OpenXM$
        !             2: /*&C
        !             3: OX-RFC: 104                                    Nobuki Takayama
        !             4:                                                September 18, 2004
        !             5:
        !             6: */
        !             7:
        !             8: //&en  OX-RFC100  over HTTP GET protocol
        !             9: //&ja  HTTP GET protocol $B$GJq$`$3$H$K$h$k(B OX-RFC 100 $B7A<0$NDL?.J}K!(B
        !            10:
        !            11: /*&C
        !            12:
        !            13: Status of this memo
        !            14:   This is an experimental specification of sending OpenXM 100 packets
        !            15:   over http-GET and https-GET.
        !            16:   Distribution of this memo is unlimited.
        !            17:
        !            18: Copyright Notice
        !            19:   OpenXM.org, 2004
        !            20:
        !            21: */
        !            22:
        !            23: /*&ja
        !            24:
        !            25: @@$BMWLs(B.
        !            26:   OpenXM 100 $B7A<0$NDL?.$r(B HTTP GET ($B$^$?$O(B POST) $B$G(B wrap $B$9$k$3$H$K$h$j(B,
        !            27:   OpenXM 100 $BBP1~$N%5!<%P$rMF0W$K(B CGI $B%5!<%S%92=$G$-$k(B.
        !            28:   $B$^$?(B OpenXM $B$N%5!<%S%9$r@)8B$5$l$?%M%C%H%o!<%/4D6-$G$b%0%j%C%I2=$7$F$$$/(B
        !            29:   $B$3$H$,2DG=$H$J$k(B.
        !            30:
        !            31:   OpenXM 100 $B$G$O%5!<%P$rN)$A>e$2$k$K$O(B "login" $B$9$k$3$H$,0lHL$KI,MW$G$"$k$,(B,
        !            32:   $BITFCDj?M$,0lEY$N$_$N7W;;MxMQ$r$9$k$h$&$J>l9g$K$b(B, $B$^$?(B OpenXM 100 $B$HF1MM$K(B
        !            33:   login $B$7$F(B session $B$r0];}$9$k$3$H$b2DG=$J$h$&$K(B
        !            34:   OpenXM-100 over HTTP GET  ($B0J2<(B OoHG  $B$HN,5-(B) $B$O@_7W$5$l$F$$$k(B.
        !            35:
        !            36:   $B$3$N%a%b$G$O(B HTTP GET $B$H(B HTTPS $B$7$+4{B85;=Q$OMxMQ$7$F$$$J$$(B.
        !            37:   Web $B5;=Q$K4X$7$F8=:_8&5fCf$d<BMQ2==i4|CJ3,$N$5$^$6$^$J%W%m%H%3%k$r3hMQ$7$F(B
        !            38:   $B$3$N%a%b$HF1Ey$+$=$l0J>e$N$3$H$r<B8=$9$k$3$H$O2DG=$G$"$m$&(B.
        !            39:   $B2f!9$OC1=c$GI,MW==J,$J;EMM$rM?$($?$$$H;W$C$F$$$k(B.
        !            40:   $B$=$N>r7o$K9gCW$9$k8B$j(B Web $B5;=Q$K4X$7$F8=:_8&5fCf$d<BMQ2==i4|CJ3,$N(B
        !            41:   $B$5$^$6$^$J%W%m%H%3%k$r3hMQ$9$k$3$H$rH]Dj$9$k$b$N$G$O$J$$(B.
        !            42:   $BJL$N%"%W%m!<%A$b;n$_$h$j$h$$%W%m%H%3%k$r:n$C$F$$$-$?$$(B.
        !            43:
        !            44: */
        !            45:
        !            46: /*&ja
        !            47:
        !            48: @@ OX-RFC-100 (OpenXM 100) $B7A<0$NDL?.$NI|=,(B
        !            49:
        !            50: OpenXM 100 $B$*$h$S$=$NGI@87A<0$NDL?.$O0J2<$N$h$&$J;EAH$_$G9T$o$l$k(B.
        !            51:
        !            52:  client                                            server
        !            53:
        !            54:      ---------------- step 1 ----------------------->
        !            55:      ssh $B$K$h$k(B server $B$X$N(B login.
        !            56:      localhost $B$G$O(B ox100start/ox $B$J$I$N(B launcher $B$,D>@\5/F0$5$l$k(B.
        !            57:      controle server, engine server $B$H$N@\B3$r3NN)$9$k$?$a$N(B
        !            58:      $B%]!<%HHV9f$*$h$S(B      -control= ... , -data=...
        !            59:      $BG'>ZJ}K!$*$h$S(B        -authtype=NONE | <<oneTimePassword>>
        !            60:      $BG'>Z%Q%9%o!<%I(B        -passControl=... , -passData=...
        !            61:      $B$bAw?.$5$l$k(B.
        !            62:      $BG'>Z%Q%9%o!<%I$N0E9f(B  -authEncoding=<<NONE>> | file | RSA
        !            63:      $B2=J}K!$N;XDj(B.
        !            64:      << >> $B$O(B src/kxx/ox $B$NI8=`CM(B
        !            65:
        !            66:
        !            67:     <----------------  step 2 -------------------------->
        !            68:        -reverse $B$N>l9g$O(B <--- $B$N8~$-$K(B TCP/IP $B@\B3$,3NN)$5$l$k(B.
        !            69:        $B$=$&$G$J$$$H$-$O(B ---> $B$N8~$-$K(B TCP/IP $B@\B3$,3NN)$5$l$k(B.
        !            70:
        !            71:     <----------------  step 3 -------------------------->
        !            72:        -authtype=oneTimePassword $B$N;~(B.
        !            73:        connect $B$7$?B&$,(B accept $B$7$?B&$X(B oneTimePassword $B$rAw$k(B.
        !            74:
        !            75:     $B0J2<(B launcher $B$N;E;v$O=*N;$7$F(B, engine $B$H(B control $B$K@)8f$,0\$k(B.
        !            76:     <----------------  step 4 -------------------------->
        !            77:        engine $B$N(B byte order $B$r@_Dj(B.
        !            78:
        !            79:     <---------------------------------------------------->
        !            80:        OpenXM $B$N%Q%1%C%H8r49(B
        !            81:
        !            82:     $B>\$7$/$O(B OX-RFC-100, OX-RFC 103 (OX-RFC 100 $BJd0d(B) $B$r8+$h(B.
        !            83:
        !            84: */
        !            85:
        !            86: /*&ja
        !            87:
        !            88: @@ OoHG $B$N%G!<%?7A<0(B.
        !            89:
        !            90: OoHG $B$G$O%G!<%?$OAw?.(B, $B<u?.$GHsBP>N$G$"$k(B.
        !            91: GET $B$rMxMQ$9$k$?$a%G!<%?$N7A<0$O(B RFC 2396 $B$G;XDj$5$l$F$$$k(B
        !            92: $B$$$o$f$k(B URL $B%(%s%3!<%G%#%s%0J}K!$rMQ$$$k(B.
        !            93: GET $B$NMxMQ$NBe$o$j$K(B POST method $B$rMxMQ$7$F$b$h$$(B.
        !            94: $B%G!<%?$O(B
        !            95:     $B%-!<%o!<%I(B = $BCM(B
        !            96: $B$r(B & $B$G6h@Z$C$?$b$N$G$"$k(B. $B%-!<%o!<%I$O1Q?t;z$H(B _ $B$r$b$A$$$k$b$N$H$9$k(B.
        !            97: $B%-!<%o!<%I$HCM$NAH$OF~$l;R9=B$$H$J$C$F$b$h$$(B.
        !            98:
        !            99: $B0J2<%-!<%o!<%I$rNs5s$9$k(B.
        !           100:
        !           101: oxMessageBody:       OpenXM $B$N%Q%1%C%H(B. $BJ#?t$N(B OX $B%Q%1%C%H$r0lEY$KAw$C$F$h$$(B.
        !           102:
        !           103: oxMessageEncoding:   OpenXM $B$N%Q%1%C%H$N(B encoding $BJ}K!$N;XDj(B.
        !           104:                     <<text_executeString_popString>> $B$,>JN,;~$NCM(B.
        !           105:                      $BJ}K!$O0J2<$N$H$*$j(B.
        !           106:                      1. xml_ox100  (OX-RFC100 $B$KDj5A$5$l$?(B XML $BI=8=(B)
        !           107:                      2. lisplike_ox100 (OX-RFC100 $B$KDj5A$5$l$?(B Lisp$BIwI=8=(B)
        !           108:                      3. binary_ox100 (OX-RFC100 $B$KDj5A$5$l$?(B binary $BI=8=(B)
        !           109:                      4. text_executeString_popString
        !           110:                           $B$3$l$O0lEY$N$_$N<B9T$rA[Dj$7$F$$$k(B.
        !           111:                           executeString $B$KM?$($k0z?t$r(B text $B7A<0$GM?$($k(B.
        !           112:
        !           113: dataChannelId:      data $B%]!<%H$NHV9f$KAjEv(B.
        !           114: controlChannelId:   control $B%]!<%H$NHV9f$KAjEv(B.
        !           115: sessionKey3Des:     64 bit x 3  3Des $BMQ$N(B Des Key.  $B%5!<%PB&$,@8@.$7(B,
        !           116:                     RSA $B$G0E9f2=$5$l%5!<%P$h$jAw?.$5$l$k(B.
        !           117: channelKey:         $B%5!<%P$h$j0l$DA0$N(B HTTP $B%H%i%s%:%"%/%7%g%s$GM?$($i$l$k(B
        !           118:                     $B%-!<(B. $BBh#3<T$,(B session $B$K3d$j9~$`$N$r6X;_$9$k$?$a(B.
        !           119:                     10 $B7e0J>e$N?t;z$GM?$($k(B.
        !           120:                     $B%5!<%P$,M?$($k%-!<$O(B nextChannelKey (Cookie $B$KAjEv(B).
        !           121:                   ($B%M%C%H%o!<%/$,EpD0$5$l$F$$$k$H$-$O(B, $B$3$NJ}K!$OL5NO$G$"$k(B.
        !           122:                    https $B$+(B $B<!$N(B channelKeyIn3Des, nextChannelKeyIn3Des
        !           123:                    $B$rMQ$$$k$Y$-$G$"$k(B.)
        !           124:
        !           125: channelKeyIn3Des:     3Des $B$G0E9f2=$5$l$?(B channelKey.
        !           126: nextChannelKeyIn3Des: 3Des $B$G0E9f2=$5$l$?(B nextChannelKey.
        !           127:
        !           128: responseEncoding:   $B%5!<%P$NJVEz$N(B encoding $BJ}K!(B.
        !           129:                     $B>JN,;~$K$O(B oxMessageEncoding $B$KBP1~$7$?J}K!$G(B
        !           130:                     $BK\BNItJ,$OAw$i$l$k(B.
        !           131:                     nextChannelKey $BEy$N>pJs$OFC$K;XDj$7$J$$>l9g(B
        !           132:                     OX100-OVER-HTTP-GET-nextChannelKey: $B$K$h$k(B
        !           133:                     header $B$rMQ$$$?JVEz$r9T$&(B.
        !           134:                     text_execute_popString $B$N;~$O(B text $B7A<0$GAw?.$5$l$k(B.
        !           135:                     $B>\:Y8e=R(B.
        !           136:                     $B$=$NB>(B.
        !           137:                     1. presentation_html
        !           138:
        !           139: loginRSA:           RSA $BG'>Z$K$h$k(B login. nextSessionKey $B$O%/%i%$%"%s%H$N(B
        !           140:                     public key $B$rMQ$$$FAw?.$5$l$k(B.
        !           141:                     RSA $B$K$D$$$F$O(B OX-RFC 103 $B$r8+$h(B.
        !           142: logout:             logout
        !           143:
        !           144:
        !           145: sessionTimeOut:
        !           146:
        !           147: controlChannelKey:
        !           148: nextControlChannelKey:
        !           149: challenge:
        !           150: challenge-response:
        !           151:
        !           152: */
        !           153:
        !           154: /*&ja
        !           155:
        !           156: @@ $B;O$a$F$NNc(B
        !           157:
        !           158: $BNc(B1.
        !           159: fctr(x^2-1); $B$r(B fctr.cgi $B$XAw?.$9$k(B.
        !           160:
        !           161:      http://fctr.openxm.org/fctr.cgi?oxMessageBody=fctr(x%5E2-1)%3B
        !           162:
        !           163: oxMessageBody $B0J30$NA4$F$N%-!<%o!<%I$,>JN,$5$l$F$$$k$N$G(B,
        !           164: anonymous, 1 $B2s$N$_$N<B9T(B, executeString & popString, $BJVEz$O(B text $B7A<0(B
        !           165: $B$H$J$j(B
        !           166:
        !           167:     [[1,1],[x-1],[x+2]]
        !           168:
        !           169: $B$,La$k(B.
        !           170:
        !           171: $BNc(B2.
        !           172: $BF1$8LdBj$r(B session $B$r3NN)$7$F$+$i<B9T$9$k(B. URL encoding $BItJ,$O(B " ... " $B$G5-=R(B.
        !           173: RSA $B0E9f2=$5$l$F$kItJ,$O(B ' ... '$B$G5-=R(B.
        !           174:
        !           175:    --->
        !           176:      http://fctr.openxm.org/fctr.cgi?loginRSA="takayama@hoge.org"
        !           177:    <---
        !           178:      OX100-OVER-HTTP-GET-controlChannelId: 4010
        !           179:      OX100-OVER-HTTP-GET-dataChannelId: 4011
        !           180:      OX100-OVER-HTTP-GET-challenge: '.............'
        !           181:    --->
        !           182:      http://fctr.openxm.org/fctr.cgi?chanllenge-response: '..........'
        !           183:    <---
        !           184:      OX100-OVER-HTTP-GET-nextChannelKey: 143245
        !           185:      OX100-OVER-HTTP-GET-nextControlChannelKey: 534256
        !           186:    --->
        !           187:      http://fctr.openxm.org/fctr.cgi?dataChannelId=4011&
        !           188:                                      channelKey=143245&
        !           189:                                      oxMessageEncoding="lisplike_ox100"&
        !           190:                                      responseEncoding="text"
        !           191:             oxMessageBody="(OX_DATA,(CMO_STRING,\"fctr(x^2-1);\"))
        !           192:                            (OX_COMMAND,(SM_executeString))
        !           193:                            (OX_COMMAND,(SM_popString))"
        !           194:   <---
        !           195:      Content-Type: text/plain
        !           196:      OX100-OVER-HTTP-GET-nextChannelKey: 345137
        !           197:
        !           198:      [[1,1],[x-1],[x+2]]
        !           199:   --->
        !           200:      http://fctr.openxm.org/fctr.cgi?dataChannelId=4011&
        !           201:                                      channelKey=345137&
        !           202:                                      logout&
        !           203:
        !           204: */
        !           205:
        !           206:
        !           207: /*&ja
        !           208:
        !           209: @@ $B%(%i!<%3!<%I0lMw(B.
        !           210:
        !           211: << $B$^$@8!F$$7$F$J$$(B >>
        !           212:
        !           213: */
        !           214:
        !           215: /*&ja
        !           216:
        !           217: @@ $B%3%s%H%m!<%k%W%m%;%9$H$NDL?.(B
        !           218:
        !           219: << $B$^$@=q$$$F$J$$(B >>
        !           220:
        !           221: */
        !           222:
        !           223:
        !           224: /*&ja
        !           225:
        !           226: @@ OpenXM grid $B$N%5!<%S%90lMwDs6!J}K!(B.
        !           227:
        !           228: << $B$^$@8!F$$7$F$J$$(B >>
        !           229:
        !           230: */
        !           231:
        !           232: $Id: ox-rfc-104.oxw,v 1.6 2004/09/18 11:37:02 taka Exp $

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>