7.Client to Server


7.2 URL

  브라우저가 웹서버로 어떤 페이지를 요청할 때 URL에 해당 서버명과 포트명, 디렉토리, 파일명을 적어서 전송하게 된다. 이때, URL에 추가 정보를 기록함으로써, SSJS의 request object에 속성으로 접근할 수 있다. 즉, 다음과 같은 URL이 있다면,

http://server.domain:8888/app/index.html?num=25&idx=7
  SSJS에서 보자면, index.html과 매치되는 WEB파일이 존재하면서 ? 뒤에 오는 것들은 인자로 인식하게 된다. 즉, request.num, request.idx 에 각각 25, 7이라는 값이 넘어가게 되는 것이다.

    URL의 특수문자   URL에서는 알파벳과 숫자등과 같은 문자들을 제외하고는 거의 특수문자로 취급한다. &는 구분자를 의미하며, +는 공백을 의미하고, ?는 파일과 인자를 구분하게 된다. 즉, index.html start=7 name=Deadfire and killer 라고 적고 싶다면, index.html?start=7&name=Deadfire+and+killer라고 적어야만 서버로 잘 전달된다. 중간에 스페이스가 들어가게 되면, 해당 URL이 짤리게 된다.
  form tag를 사용하지 않고도 이렇게 URL에 값을 넣어주는 경우도 있다.

<script>
function compute(){
    return "?num=25";
}
</script>
<a href="index.html" onClick="this.search=compute()">Click and submit</a>


  request.num 에 25라는 값이 들어가면서 index.html을 호출하게 된다. 주의할 것은 이 문장을 클린한다고 해서 다른 form정보가 같이 올라가는게 아니라는 점이다.
    Reload   URL에 의한 방법을 SSJS문장으로 쓰게 되면, client에 저장된 정보들이 전달되지 않을 수도 있다. 이럴 때는 addClient()함수를 사용한다.( 추후 자세히 설명토록 하겠다. ). 그러나 한가지 주의할 것은 사용자 Reload버튼을 누를 경우에 URL이 그대로 전송된다는 점이다.

    <A HREF=`addClient("index.html?start=" + escape(I) )`> Click </A>

    * escape()는 URL에 저장되는 특수문자를 변경해주는 내장 함수이다.

- Last Update : 2001.7.5 by Deadfire(http://www.deadfire.net)

LiveWire 강좌
LiveWire란?
최초예제/동작원리
실행환경 준비
컴파일 및 실행
SSJS의 기본
     - Function
     - Classes/Objects
     - 사용 Tag
     - SSJS의 처리과정
기본 함수
Client To Server
     - FORM Tag
     - URL
Server To Client
     - FORM Tag
     - Cookie
Session
Client
Project/Server
File
Database
     - Database고려사항
     - Function/예제
기타
     - Stored Procedure
     - 외부함수호출
마치며

Copyright ⓒ 1997 ~, Deadfire Program Master