이 장에서는 저번장에 잠깐 봤었던 태스크에 대한 직접적인 예제와 이벤트에 대해 알아보겠습니다.
WML에서 태스크와 이벤트는 매우 여러 곳에 사용되기때문에 잘 알아두셔야 합니다.
1. <go> 태스크
이름 그대로 <go> 태스크는 다른 카드로 이동하는 동작은 나타냅니다.
<go> 태스크에는 세가지 속성이 있습니다.
href 속성 - 주어진 URL로 이동한다.
method 속성 - 다른 데크(혹은 카드)를 가져오기 위해 사용하는 방법을 정한다. get, post
sendreferer 속성 - true로 설정되면 현재데크의 URL값이 보내진다.
href=" " 이것은 말그대로 다른 URL, 데크, 혹은 카드로 이동하는 속성이지요.
sendreferer는 나중에 소스에서 사용하게 되면 설명 드리겠습니다.
조금 깊게 볼만한 것은 method 인데요. HTML을 사용해보셨던 분이라면
<form>태그의 method="post" 이런 형식을 아실텐데요.
WML에서는 이를 <go>태그로 처리하는 것일뿐 방식은 거의 비슷 합니다.
method="get" 혹은 method="post"라는 것은 지정한 방법으로
다른 문서로 어떤 값 혹은 메시지를 전달 하는것입니다.
여기서 get 방식으로 보낸것과 post로 보내는 것은 각각 차이점과 장단점이 있습니다.
먼저 get방식은 정보들이 URL 형식으로 전달됩니다.
예를들어 숫자 20이라는 값이 저장된 변수 x와
숫자 30이라는 값이 저장된 변수 y를 ex.wml로 보낸다고 가정했을때는
<go href="ex.wml?x=20&y=30" method="get" />
이렇게 되는 것입니다.
이렇게 URL방식을 이용하기때문에 사용이 편한 장점이 있지만
웹서버에는 URL들 내용이 어딘가의 로그에 저장되기 때문에 보안측면에서 단점이 있습니다.
다음..post 방식은 get처럼 URL로 정보 전달을 하는 것이 아닌
데이터를 URL과 별도로 전송하기 때문에 보안측면에서는 장점을 가지고 있습니다.
다음은 post방식으로 숫자 20이라는 값이 저장된 변수 x와
숫자 30이라는 값이 저장된 변수 y를 ex.wml로 보내는 예제입니다.