KR20020075369A - 웹 페이지 중재 시스템 및 방법 - Google Patents

웹 페이지 중재 시스템 및 방법 Download PDF

Info

Publication number
KR20020075369A
KR20020075369A KR1020027006145A KR20027006145A KR20020075369A KR 20020075369 A KR20020075369 A KR 20020075369A KR 1020027006145 A KR1020027006145 A KR 1020027006145A KR 20027006145 A KR20027006145 A KR 20027006145A KR 20020075369 A KR20020075369 A KR 20020075369A
Authority
KR
South Korea
Prior art keywords
web page
server
intermediate server
web
cookie
Prior art date
Application number
KR1020027006145A
Other languages
English (en)
Other versions
KR100748770B1 (ko
Inventor
클레이 데이비스
월터 알. 보드웰
마이클 씨. 클로브
Original Assignee
비엠씨 소프트웨어 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 비엠씨 소프트웨어 인코포레이티드 filed Critical 비엠씨 소프트웨어 인코포레이티드
Publication of KR20020075369A publication Critical patent/KR20020075369A/ko
Application granted granted Critical
Publication of KR100748770B1 publication Critical patent/KR100748770B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet

Abstract

중간 서버에서 웹 페이지를 중재하기 위한 시스템 및 방법. 본 시스템 및 방법은 타겟 웹 서버로부터 웹 페이지를 검색하는 단계와, 상기 웹 페이지가 캐시되지 않도록 보장하는 단계와, 상기 웹 페이지 내의 링크를 상기 중간 서버를 참조하도록 변경하는 단계를 포함할 수 있다.

Description

웹 페이지 중재 시스템 및 방법{A SYSTEM AND METHOD OF MEDIATING A WEB PAGE}
웹 싸이트가 보다 널리 보급됨에 따라, 회사들은 점점 그들의 웹 싸이트에 대한 성능 목표(performance goal) 및 품질 표준을 설정하는 데 관심을 보이고 있다. 이러한 목표를 달성하기 위한 하나의 방법은 엔드 유저의 경험을 회사 웹 싸이트로 시뮬레이트하는 것이다. 그 엔드 유저의 경험을 시뮬레이팅함으로써, 회사는 그 페이지의 링크 및 자원의 인테그리티(integrity)를 결정할 수 있고, 그 회사에 의해 결정된 동작 목표에 대한 고객의 경험 비율을 결정할 수 있다. 또한, 회사의 정보 기술부는 크리티컬한(critical) 웹 자원들을 보다 잘 추적하고 측정할 수 있게 된다. 개별 고객의 경험을 시뮬레이팅하는 것에 더하여, 다수의 고객들을 동시에 시뮬레이팅하는 것은 회사가 웹 싸이트를 테스트하고, 싸이트 성능의 경향을 검출하는 것을 강조하게 하므로, 따라서 문제 발생전에 회사가 그 문제를 제기할 수 있게 한다.
웹 싸이트를 통한 유저의 패스를 시뮬레이팅하는 하나의 방법은 유저에 의한 모든 요청을 기록하는 것이다. 이렇게 하기 위해서, 유저의 요청을 중간 서버 - 통상 프록시 서버 - 를 통해서 라우팅하는 것이 일반적으로 요구된다. 그러나, 프록시 서버의 유저는 중요한 기술 경험을 요구하는데, 이는 각 브라우저가 프록시서버를 통해 개별적으로 구성되어야 하기 때문이다. 이런 문제는 동일한 브라우저의 상이한 버전이 고유 구성을 요구할 수 있다는 사실에 의해 강조된다. 유저의 요청이 다른 프록시 서버를 통해서는 라우팅될 수 없기 때문에, 유저의 웹 페이지 요구를 추적하는 프록시 서버의 유저에 대한 보다 엄격한 제한이 존재한다. 이는 회사 프록시 서버를 통해 라우팅 되어야 하는 피고용인 요청을 요구하는 회사들의 수가 증가함에 따라 보다 문제가 되고 있다. 프록시 서버는 인기있는 웹 싸이트를 캐싱(caching)함로써 피고용인이 액세스하는 웹 싸이트를 제한하고, 효율을 얻도록 하기 위해 사용되고 있다. 웹 싸이트 콘텐츠가 프록시 서버에서 캐시되면, 그 웹싸이트에 대한 요청에 대한 응답이 웹 싸이트가 타겟 웹 싸이트가 아닌 프록시 서버의 메모리로부터 와야 한다. 따라서, 그 요청은 실제로 그 회사의 서버 한도를 넘지 않으며 따라서, 제2 프록시 서버, 즉 그 유저의 요청을 추적해온 프록시 서버에 의해 기록가능하지 않게 된다.
다수의 프록시 서버 사용의 불리함은 중간 웹 서버를 통해서 웹 페이지 요청을 라우팅함으로써 극복될수 있다. 웹 페이지 요청이 중간 웹 서버에 의해 이루어 지면, 타겟 웹 싸이트의 링크들이 중간 웹 싸이트를 통해서 최초로 라우팅되도록 타겟 웹 싸이트의 HTML 텍스트가 변경되거나 중재된다. 예를 들어, 텍스트가 사회 그룹의 말투 또는 인기있는 카툰 및 영화 배우를 반영하기 위해, 다수의 웹 싸이트들이 타겟 웹 싸이트를 중재하기 위해 개발된다. 또한, 이런 싸이트들은 중재된 페이지로부터 요청된 어떤 페이지들이라도 또한 중재될 수 있도록 하기 위해 웹 링트를 중재한다. 그러나, 이런 웹 싸이트들에 의해 사용되는 방법은 JavaScript,폼, 사이드 이미지 맵, 및 다른 필수적인 웹 테크놀러지 등의 다이나믹 콘텐츠를 처리하지는 않는다.
<발명의 요약>
본 발명은 페이지 중재용으로 이전에 개발된 시스템 및 방법에 관련된 단점 및 문제점들 상당히 제거하거나 감소시키는 시스템 및 방법을 제공한다.
보다 구체적으로는, 본 발명은 중간 서버에서의 웹 페이지의 중재 시스템 및 방법을 제공한다. 그 방법은 웹 페이지가 캐시되지 않고, 중간 서버를 참조는 웹 페이지 내에서 링크를 변경시키지 않을 것을 보장하는 단계를 포함한다. 본 발명에서, 중간 서버를 참조하는 변조된 링크는 절대 참조 또는 상대 참조가 될 수 있다.
본 발명은 다이나믹 콘텐츠가 중재되도록 허락함으로써 웹 페이지 중재용으로 이전에 개발된 시스템에 비하여 상당한 장점을 제공한다.
본 발명은 유저 컴퓨터 또는 프록시 서버에 의해 웹 페이지가 캐시되는 것을 방지함으로써 또 다른 중요한 기술적 장점을 제공한다.
본 발명은 쿠키가 중재되도록 허락함으로써, 다른 중요한 기술적 장점을 제공한다.
본 발명은 이전의 방법보다 매우 많은 수의 웹 페이지의 수를 중재하는 능력에 의해서 또 다른 중요한 기술적 장점을 제공한다.
본 발명은 또 다른 기술적 장점을 제공하는데, 이는 본 발명은 다른 유저 컴퓨터에 설치되기 위한 추가적인 소프트웨어를 요구하지 않고, 유저의 웹 브라우저의 수정을 요구하지 않기 때문이다.
본 발명 및 그 이점에 대한 보다 완전한 이해를 돕기 위해서, 동일한 부분에 대하여 동일한 참조부호를 사용하는 첨부된 도면에 대한 이하의 설명에 대한 참조가 이루어진다.
도 1은 본 발명이 설치된 일 시스템의 다이어그램.
도 2는 중간 서버에서의 웹 페이지 중재를 위한 본 발명의 방법을 예시한 순서도.
동일 부분 및 대응 부분을 참조하는데 동일 참조번호가 사용되는 도면들에 본 발명의 바람직한 실시예가 도시된다.
본 발명의 목적상, "콘텐츠(contents)"는 유저의 코맨드(예를 들어, 유저가 링크를 선택하는 경우)에 응답하여 웹 페이지에 의해 유저의 브라우저에 리턴되는 HTML 및 기타 데이터를 일컫는다. "스태틱(static)" 웹 페이지는 시간이 경과하여도 변화가 없이 유저의 브라우저에 리턴되는 콘텐츠를 포함한다. "다이내믹(dynamic)" 웹 페이지는 동일한 유저의 코맨드에 응답하여 시간이 경과하면 변화하는 앞의 것과는 다른 미리 포맷되지 않은 콘텐츠를 포함할 수 있는 페이지를 나타낸다. "패스(path)" 또는 "웹 패스(web path)"는 특정 순서로 이루어진 일련의 요청이다. "티칭 세션(teaching session)"은 사후에 재생될 수 있도록 유저가 패스를 규정하는 것을 일컫는다.
본 발명은 웹 페이지의 스태틱 콘텐츠 및 다이내믹 콘텐츠 양자 모두를 조작할 수 있는 방식으로 타겟 웹 페이지를 중재하기 위한 시스템 및 방법을 제공한다. 도 1은 본 발명이 웹을 통해 유저의 패스를 기록할 수 있는 시스템의 개략도이다. 유저는 웹 브라우저(20)를 경유하여 중간 서버(10)에서의 소프트웨어 프로그램(5)을 액세스할 수 있다. 일 실시예에서, 유저는 중간 서버(10)에서의 소프트웨어 프로그램(5)을 액세스한 후 웹 브라우저(20)를 사용하여 소프트웨어 프로그램(5)에 패스 네임(예를 들어, "패스 1") 및 시작 URL을 제공할 수 있다. 패스 네임 및 시작 URL은 데이터베이스(15)에 저장될 수 있다. 패스 네임은 유저에 의해 규정된 특정 패스를 분류하기 위해 사용되는 한편, 시작 URL은 유저 패스의 시작 지점이다. "시작(start)" 버튼을 클릭함으로써 패스를 규정하기 시작할 준비가 완료되었다는 것을 유저들이 나타내면, 예를 들어, 소프트웨어 프로그램(5)은 웹 브라우저(20)에 디스플레이 윈도우가 개방되도록 할 수 있다. 디스플레이 윈도우는 브라우저(20) 내에서 유저의 응답에 응답하여 수신되는 콘텐츠가 디스플레이될 새로운 윈도우이다. 시작 URL에 대한 유저의 요청은 브라우저(20)에서 소프트웨어 프로그램(5)으로 보내질 것이다. 소프트웨어 프로그램(5)은 이 요청을 타겟 웹 서버(30)에 전달한다. 타겟 웹 서버(30)는 시작 URL에 대응하는 웹 페이지(35)를 중간 서버(10)에 리턴할 것이다. 소프트웨어 프로그램(5)은 콘텐츠를 중재하여 웹 페이지(35)의 중재된 콘텐츠에서 유저에 의해 이루어진 임의의 부가적인 요청들이 중간 서버(10)를 통해 라우트될 것이다. 콘텐츠의 중재는 도 2를 참조하여 설명되는 방법에 따라 수행될 수 있다.
소프트웨어 프로그램(5)은 콘텐츠를 중재한 후 중재된 콘텐츠를 웹 브라우저(20)의 디스플레이 윈도우에 통신할 수 있다. 유저의 견지에서, 웹 브라우저(20)의 디스플레이 윈도우에 디스플레이된 페이지는 웹 페이지의 콘텐츠가 중재되지 않고 디스플레이된 뷰(예를 들어, 유저가 타겟 웹 서버(30)를 직접 액세스한 경우)와 동일하게 보일 수 있다. 그러나, 본 발명은 네비게이션 또는 스테이터스 바 없이도 웹 브라우저(20)의 디스플레이 윈도우가 개방될 수 있도록 할 수 있다. 이는 디스플레이 윈도우에 디스플레이되는 중재된 콘텐츠를 통해 URL을 액세스하기 보다는 오히려 브라우저(20)의 상부에 URL을 직접 입력함으로써 유저가 패스 규정 프로세스를 부주의하게 회피하지 않도록 수행된다.
유저가 코맨드 또는 웹 페이지(35)의 중재된 콘텐츠로부터의 요청을 입력하면, 소프트웨어 프로그램은 그 코맨드를 데이터베이스(15)에 저장한다. 또한, 코맨드에 대응하는 헤더 및 쿠키 등의 기타 정보가 데이터베이스(15)에 저장될 수 있다. 그리고, 소프트웨어 프로그램(5)은 새로운 웹 페이지(35)에 대한 부가적인 요청들을 타겟 웹 서버(30)에 전달한다. 예를 들어, 유저는 웹 페이지(35)의 중재된 콘텐츠로부터의 요청을 브라우저(20)의 디스플레이 윈도우에 행할 수 있고, 소프트웨어 프로그램(5)은 이 요청을 데이터베이스(15)에 기록하고 나서, 이 요청을 타겟 웹 서버(30)에 전달할 수 있다. 소프트웨어 프로그램(5)은, 타겟 웹 서버(30)로부터 타겟 웹 페이지(35)의 콘텐츠를 다시 수신하고, 웹 페이지(35)로부터의 응답 콘텐츠를 중재하여, 중재된 데이터를 브라우저(20)의 디스플레이 윈도우에 리턴한다. 소프트웨어 프로그램(5)은 또한 타겟 웹 서버(30)에 의해 리턴된 쿠키 및 헤더 등의 콘텐츠도 기록할 것이다. 웹 페이지(35)의 콘텐츠는 유저가 다른 URL로의 요청을 행함에 따라 변경될 수 있다는 것에 주의하여야 한다. 또한, 타겟 웹 서버(30)는 새로운 웹 페이지에 대한 요청이 이루어짐에 따라 변경될 수도 있다.
일반적으로, 본 발명은 서버의 중재를 요구하는 모든 인터렉션들을 포착할 수 있다. 유저가 패스 규정을 완료하면, 유저는 패스 규정 프로세스를 정지할 수 있고, 유저에 의해 규정된 패스 네임하에 패스가 저장된다.
도 2는 소프트웨어 프로그램(5)이 웹 페이지(35)에 의해 리턴된 콘텐츠를 중재하는 프로세스를 도시하는 순서도이다. HTML 및 기타 콘텐츠가 변조되어 중재된 콘텐츠로부터 유저에 의해 이루어진 대부분의 인터렉션 또는 요청은 타겟 웹 서버(30)로 직접 진행하기 보다는 오히려 중간 서버(10)를 통해 라우트된다. 이하의 단계들이 반드시 도시된 순서로 수행되어야만 하는 것은 아니라는 것에 주의하자.
단계 50에서, 소프트웨어 프로그램(5)은 타겟 웹 서버(30)에 의해 리턴된 웹 페이지(35)가 캐시되지 않을 것을 보장한다. 이는 여러가지 이유로 인하여 수행되는 것이다. 유저가 웹을 통해 여러개의 패스를 규정하기를 원하면, 제1 티칭 세션에서 예를 들어 "URL 1" 등 특정 중재된 URL이 웹 사이트로 진행하기 위해 사용될 것이다. 패스를 규정하기 위해 필요한 호스트의 총 수를 감소하기 위해서는 연속적으로 규정된 패스에서 서로 다른 웹 페이지에 대하여 동일한 중재된 URL이 사용될 것이다. 캐싱을 방지함으로써, 본 발명은 제1 티칭 세션으로부터의 어떠한 페이지도 유저의 제2 티칭 세션용 컴퓨터의 메모리에 저장되지 않을 것을 보장한다.캐싱이 허용되면, 유저가 제2 티칭 세션에서 "URL 1"에 대한 요청을 보낸 경우, 유저는 소프트웨어 프로그램(5)으로부터 웹 사이트 B의 중재된 콘텐츠를 수신하는 대신에 유저 컴퓨터 메모리에 캐시되었던 웹 사이트 A의 중재된 콘텐츠를 수신할 것이다. 캐싱 방지는 또한 브라우저(20)와 타겟 웹 서버(30) 사이의 모든 인터렉션이 중간 서버(10)를 통해 처리되는 것을 보장하기 위해 사용되기도 한다. 웹 페이지(35)가 유저의 컴퓨터에서 캐시되면, 새로운 웹 페이지(35)에 대한 후속 요청들은 중간 서버(10)를 통해 진행하기 보다는 오히려 유저의 컴퓨터에서 처리된다. 이러한 일이 발생하면, 소프트웨어 프로그램(5)은 그 웹 페이지에서 유저의 인터렉션(예를 들어, 브라우저(20)와 타겟 웹 서버(30) 사이의 정보 등)을 적절히 추적할 수가 없다.
일 실시예에서, 소프트웨어 프로그램(5)은"HTTP-EQUIV="expires"또는 등가의 만료 코딩을 갖는 모든META태그들을 제거한다. 그리고, 소프트웨어 프로그램(5)은 페이지를 즉시 만료할 META 태그를 삽입함으로써 캐싱을 방지할 수 있다. 당업자라면 이러한 것은 웹 페이지가 즉시 만료하도록 하는 다수의 방법들 중 일 예일 뿐이라는 것을 용이하게 이해할 수 있을 것이다. 다른 실시예들이 Cache-Control 헤더들을 중재하는 방법을 포함할 수 있다.
단계 60에서, 소프트웨어 프로그램(5)은 웹 페이지(35)의 콘텐츠의 링크를 변경하여 중간 서버(10)를 참조할 수 있다. 이는 절대 및 상대 URL 링크 양자 모두에 대하여 수행될 수 있다. "절대(absolute)" URL은 프로토콜, 호스트 및 포트를 포함하는 URL을 일컫는다. 예를 들어,http://www.server.com:80이라는 URL에서, http는 프로토콜이고,www.server.com은 호스트 네임이며, 80은 포트이다. 포트가 URL 이외의 것이면, 디폴트 포트가 선택된다(예를 들어, http용 80 및 https용 443). 예를 들어, 기본 URL이http://www.server.com/인 웹 페이지에서 /images/test.gif로 링크가 되면, 이는 http://www.server.com/images/test.gif로 링크된 것과 동등한 것이다. images/gif는 기본 URLhttp://www.server.com/에 대하여 상대인 것이기 때문에, 링크가 실제로 기본 URL을 참조하지는 않을 것이고, "images/test.gif" 만이 웹 페이지의 콘텐츠에 나타날 것이다.
절대 URL의 경우, 소프트웨어 프로그램(5)은 타겟 웹 서버(30)의 네임을 특정 식별자에 후속하는 중재된 URL의 파일 부분에 구현할 것이다. 특정 식별자가 사용되어, 유저가 중재된 URL을 요청하는 코맨드를 보내면, 소프트웨어 프로그램(5)은 타겟 웹 서버(30)의 네임을 위치시킬 수 있을 것이다. 예를 들어, 절대 URL <A HREF = "http://www.utexas.edu"> UT </A>로의 링크용 HTML은 <A HREF = "http://site1.server.com/company*www.utexas.edu"> UT </A>이 될 수 있다. 이 경우, 타겟 웹 서버www.utexas.edu에 대한 요청은 중간 서버(10)에서 호스트 "site1.server.com"를 통해 라우트될 것이다. 호스트 "path1.server.com"은 웹 페이지(35)와 관련된 특정 타겟 웹 서버(30)를 규정하기 위해 사용될 수 있다. "company*"는 소프트웨어 프로그램(5)이 타겟 서버www.utexas.edu를 파일 네임에 위치시킬 수 있게 하는 특정 표시자이다. 타겟 웹 서버www.utexas.edu는(예를 들어, 이러한 특정 요청용 타겟 웹 서버(30)) 유저의 이전 요청용(for the user's previous request) 타겟 웹 서버(30)와는 다를 것이라는 점에 주의하여야 한다.
절대 URL은 http 또는 https 프로토콜에 의해 식별되기 때문에, 소프트웨어 프로그램(5)은 "http://" 또는 "https://"에 대한 콘텐츠를 검색함으로써 웹 페이지(35)의 콘텐츠에서 절대 URL들을 식별할 수 있다. 이는 JavaScript, Visual Basic 또는 기타 스크립트로 구현되는 URL들을 식별하기 위해 항상 html 태그들이 사용되는 것은 아니기 때문에, 절대 URLL들을 식별하기 위해서 A 태그 등의 html 태그들의 특정 타입에 대한 콘텐츠를 검색하는 시스템들에 대하여 이점을 제공한다. 프로토콜 네임에 의해 절대 URL들을 식별함으로써, 소프트웨어 프로그램(5)은 JavaScript에 의해 다이내믹하게 생성되었을지라도 URL을 중재할 수 있다. 따라서, 본 발명은 상당히 많은 수의 웹 페이지들에서 절대 URL들을 식별하고 중재할 수 있다.
소프트웨어 프로그램(5)은 또한 중간 서버(10)를 참조하기 위해 웹 페이지(35)의 콘텐츠에 리턴된 상대 URL들을 변경할 수 있다. 상대 URL들에 대하여, 소프트웨어 프로그램(5)은 베이스 태그를 변조하거나 또는 웹 페이지(35)의 콘텐츠에서 발견된 상대 URL들에 베이스 태그를 부가한다. 예를 들어, index.html이 http://www.utexas.edu 에서 발견된 웹 페이지(35)에 대한 링크였으면, <BASE HREF = http:// www.site1.server.com/index.html >를 판독하기 위해 베이스 태그가 삽입될 수 있다. 웹 페이지(35)에 대한 특정 타겟 웹 서버(30)를 규정하기 위해서는 소프트웨어 프로그램(5)에 의해 호스트 네임(예를 들어, site1.server.com)이 사용된다. 본 예에서,www.site1.server.com은 /index.html이 위치되는 타겟 웹 서버(30)로서http://www.utexas.edu를 규정한다. 베이스 태그를 삽입하거나 변조하는 것에 의해, 상대 URL이 중간 서버(10)에 관련할 수 있다.
호스트를 이용하여 타겟 웹 서버(30)를 규정하는 것 이외에도, 소프트웨어 프로그램(5)은 포트를 사용할 수 있다. 상술한 예에서, 소프트웨어 프로그램(5)은 타겟 웹 서버www.utexas.edu를 식별하기 위해server.com:5001을 사용하였을 수 있다. 상대 URL의 경우, 예를 들어, 소프트웨어 프로그램(5)은 <BASE HREF = http:// server.com:5001/index.html >을 판독하기 위해 베이스 태그를 삽입할 수 있다. 타겟 웹 서버(30)를 규정하기 위한 포트의 사용은 호스트의 사용이 보다 어렵고 그 구성에 있어 비용이 많이 들기 때문에 호스트의 사용에 비하여 이점들을 제공할 수 있다. 중간 서버(10)를 검색하기 위해 브라우저(20)에 의해 사용되는 도메인 네임 서비스(이하, 'DNS'라 함)는 타겟 웹 서버를 식별하기 위해 사용되는 호스트 네임들 각각에 대한 엔트리를 가져야 한다. 따라서,www.utexa.edu가 호스트www.site1.com에 의해 식별되고 및www.yahoo.com은 호스트www.site2.server.com에 의해 식별되면, DNS는 "site1" 및 "site2" 호스트 양자 모두에 대한 엔트리를 포함하여야 한다. 또한, 각각의 호스트 네임에 대하여, 보다 보안성이 있는 통신을 가능하게 하는 SSL 인증이 있을 수 있다. 그러나, 타겟 웹 서버(30)를 규정하기 위한 포트의 사용은 유저가 http용 80 또는 https용 443 이외의 포트를 사용하는 것이 금지되는 경우 적절하지 못할 것이다. 이는 통상적으로 유저가 회사 프록시 서버를 통해 웹 페이지들을 액세스하려고 할 때에 발생한다.
단계 70에서, 소프트웨어 프로그램(5)은 적절한 분류용 자원를 마크한다. 자원들은 웹 페이지(35)에 대한 본래의 요청과 별도인 개별 요청에서 요청되기 때문에 문제점이 있다. 예를 들어, 웹 페이지(35)가 특정 이미지를 가지는 경우, 웹 페이지(35)에 대한 제1 요청이 이루어지고, 이미지를 채우기 위한 제2 요청이 이루어진다. 본 발명은 웹을 통해 패스를 규정하기 위한 시스템에 구현될 수 있기 때문에, 소프트웨어 프로그램(5)은 새로운 URL에 대한 요청들(예를 들어, 유저 코맨드)과 자원에 대한 요청을 구분할 수 있어야 한다. 타겟 웹 서버(30) 등의 웹 서버들에 의해 리턴되는 자원 헤더가 종종 정확하지 않기 때문에(예를 들어, 자원 헤더가 이미지를 텍스트로 잘못 마크함), 자원들은 또한 그 식별이 어렵다.
중간 서버(10)가 타겟 페이지(35)에 대한 요청을 행할 때, 부가적인 요청이 생성되면, 소프트웨어 프로그램(5)은 그 요청이 웹 페이지(35) 콘텐츠의 자원 소스 태그에 기인한 것인지 판정한다. 이는 자원의 내용을 판정하기 위해 이미지 헤더에 의존하는 것을 회피한다. 자원이 이미지였으면, 예를 들어, 소프트웨어 프로그램(5)은 자원 소스 태그 "IMG SRC"를 식별할 수 있을 것이다. 자원이 식별되면, 소프트웨어 프로그램(5)은 자원의 후미에 정보를 부가하여, 브라우저(20)가 자원에 대한 요청을 할 때, 소프트웨어 프로그램(5)은 이것은 자원 요청이고 패스에서의 부가적인 단계가 아니라는 것을 알 것이다. 예를 들어, 웹 페이지(35)의 콘텐츠가 소프트웨어 프로그램(5)이 자원 "dowertx.gif"를 요청하도록 한다면, 소프트웨어 프로그램(5)은 웹 페이지(35)의 콘텐츠에서 이미지 자원 태그를 찾을 수 있을 것이다. 예를 들어, 웹 페이지(35) 콘텐츠의 HTML은 <IMG SRC = "/graphics/dowertx.gif" border = 0 alt ="Texas">를 포함할 수 있다. 이러한 자원 소스 태그를 위치시킨 후, 소프트웨어 프로그램(5)은 HTML이 <IMG SRC ="/graphics/dowertx.gifmgt54wi" BORDER = 0 ALT ="Texas">가 되도록 중재할 수 있다. 웹 페이지(35)의 중재된 콘텐츠가 중간 서버(10)로부터 브라우저(20)로 통신될 때, 브라우저(20)는 이미지 소스 태그로 인하여 "dowertx.gift54wi"에 대한 요청을 할 것이다. 이미지는 "mgt54wi"로 마크되기 때문에, 타겟 웹 서버(30)에 의해 리턴된 자원 헤더에 표시되는 것에 불구하고 소프트웨어 프로그램(5)은 브라우저(20)가 자원 요청을 행하고 있다는 것과, 유저가 패스에 부가적인 단계를 규정하려고 하지 않는다는 것을 알게될 것이다. 사용된 실제 마커는 다양하지만 웹 페이지에서 정상적으로 발생할 것 같지 않은 것이어야 한다는 점이 이해될 것이다. 브라우저(20)가 자원 요청을 행하고 있다는 것을 아는 것 이외에, 소프트웨어 프로그램(5)은 자원 요청에 응답하여 리턴된 콘텐츠를 중재할 필요가 없다는 것을 알 것이다. 당업자에게는 스타일 쉬트 및 스크립트 등 임의의 기타 자원들에 대하여도 상술한 단계가 사용될 수 있다는 것이 자명할 것이다.
단계 80에서, 소프트웨어 프로그램(5)은 웹 페이지(35)의 콘텐츠에서 지원되지 않는 링크를 에러 메시지로 대체한다. 이는 중간 서버(10)를 통해 라우트될 수 없는 요청을 유저가 행할 수 없도록 수행될 수 있다. 예를 들어, 통상의 "mailto" 링크는 브라우저(20)가 이메일 프로그램을 개시하도록 할 수 있다. 이메일 프로그램은 브라우저(20)에서 열리고 이메일은 메일 서버를 통해 보내지기 때문에, 소프트웨어 프로그램(5)은 이메일 프로그램에 유저의 코맨드를 기록할 수 없을 것이다. 따라서, 소프트웨어 프로그램은 예를 들어mailto:test@foo.com의 링크를 "javascript:alert("Unsurpported protocol)"로 대체할 것이다. 유저가 패스를 규정할 때 "mailto"를 클릭하면, 에러가 나타날 것이다.
일반적으로, 지원되지 않는 링크는 중간 서버(10)와 더이상의 인터렉션을 요구하지 않는 링크들(예를 들어, "mailto" 링크)을 포함할 것이다. 그러나, 본 발명의 일 실시예에서, 소프트웨어 프로그램(5)은 링크들이 ftp 등의 non-HTTP 또는 non-HTTPS 프로토콜 사용을 요구한다면 에러 메시지를 리턴하도록 링크들을 중재할 수도 있다. 당업자라면 본 발명이 다양한 프로토콜을 중재하기 위해 사용될 수 있다는 것을 이해하겠지만, 특정 프로토콜들이 지원되지 않는 소프트웨어 프로그램(5)을 구성할 수도 있다.
단계 90에서, 소프트웨어 프로그램(5)은 중간 서버(10)의 도메인을 참조하기 위해 문서 도메인 스크립트를 변경한다. 웹 페이지(35)의 서로 다른 프레임들에 디스플레이된 웹 페이지들이 스크립트를 통해 상호 통신하도록 하기 위해, 서로 다른 웹 페이지들은 동일한 도메인 내에 있어야 한다. 더욱이, 도메인은 웹 페이지(35)의 일부이어야 한다. 유저 코맨드들이 실제로는 중간 서버(10)를 통해 라우트되기 때문에, 소프트웨어 프로그램(5)은 프레임된 웹 페이지들이 일단 중재되면 적절히 인터렉트 되도록 프레임된 웹 페이지의 문서 도메인 스크립트 코맨드를 변경하여야 한다. 예를 들어, 웹 페이지(35)의 문서 도메인이 본래 "utexas.edu"로 설정되지만 중간 서버(10)의 도메인은 "server.com"인 경우, 문서 도메인 스크립트 코맨드는 "server.com"으로 변경될 것이다. 예를 들어, 소프트웨어 프로그램(5)은 웹 페이지(35)에 의해 리턴된 HTML 콘텐츠를<SCRIPT LANGUAGE = JavaScript> document.domain = "utexax.edu";</SCRIPT>에서<SCRIPT LANGUAGE =JavaScript> domainDisable = "utexas.edu";document.domain = "server.com"; </SCRIPT>로 변경할 수 있다.
소프트웨어 프로그램(5)은 또한 유저의 패스가 이후에 재생될 때 중간 서버(10)가 웹 페이지(35)에 적절한 쿠키들을 전달할 수 있도록 쿠키를 중재할 수도 있다. 단계 100에서, 소프트웨어 프로그램(5)은 http-헤더의 웹 페이지(35) 콘텐츠와 함께 보내어진 쿠키의 생성 상세들과 함께 임의의 쿠키를 저장할 수 있다. 소프트웨어 프로그램(5)은 이러한 정보를 데이터베이스(15)에 저장할 것이다. 쿠키는 일반적으로 일자 등의 웹 페이지(35)가 유저의 컴퓨터상에 저장하기를 원하는 특정 세트의 정보를 포함한다. 또한, 쿠키는 쿠키의 쿠키의 존속 기간, 쿠키가 안전한지 여부 및 쿠키가 사용될 수 있는 웹 페이지들 등을 포함할 수 있다. 유저가 장차 요청을 행할 때마다, 브라우저(20)는 쿠키가 보내어졌는지 판정한다. 쿠키가 보내어졌으면, 브라우저(20)는 일자 등의 쿠키에 저장된 특정 세트의 정보를 보내고, 생성 상세, 쿠키의 존속 기간 또는 쿠키의 가용성 등은 보내지 않는다. 웹 페이지(35)에 대한 타겟 웹 서버(30)로의 실제 요청은 중간 서버(10)로부터 보내지기 때문에, 중간 서버(10)는 특정 쿠키가 웹 페이지(35)에 보내어졌는지 여부를 판정할 수 있어야 한다.
웹 페이지(35)에 의해 브라우저(20)에서 쿠키가 보내어지는 방법이 적어도 2가지는 존재한다. 제1 방법에서, 타겟 웹 서버(30)는 http-응답 헤더의 쿠키 및 쿠키의 생성 상세를 보낸다. 이 경우, 소프트웨어 프로그램(5)은 헤더로부터 직접 쿠키 및 생성 상세를 포착할 수 있다. 유저가 중간 서버(10)를 통해 웹페이지(35)에 대한 부가적인 요청을 행하면, 소프트웨어 프로그램(5)은 웹 페이지(35)에 대한 이러한 부가적인 요청에 쿠키가 포함되는지 여부를 점검할 수 있다. 제2 방법은 JavaScript를 이용하여 쿠키를 설정하는 것이다. 예를 들어, 웹 페이지(35)의 콘텐츠에 포함된 스크립트는 다음과 같이 판독될 수 있다:
<SCRIPT LANGUAGE = JavaScript>
var expires = new Date();
expires.serTime(expires.getTime() + 1000 * 60 * 60 * 24);
document.cookie = "visited =" + newDate() + ";expires =" +
expires.toGMTString();
</SCRIPT>
상술한 예에서, 3월 3일에 유저에 의해 웹 페이지(35)가 최초로 로드되었으면, 쿠키는 이 사실을 기록할 것이다. 더욱이, 쿠키는 1일 내에 만료하도록 설정될 수 있다. 유저가 웹 페이지에 대한 부가적인 요청을 행하면, 브라우저(20)는 "방문된(visited)" 쿠키가 되돌려 보내져야 하는지 여부를 판정한다. 쿠키가 보내져야 한다면, 브라우저(20)는 간단히 "March 3"을 되돌려 보낼 것이다. 그러나, 중간 서버(10)가 웹 페이지(35)의 콘텐츠에 대하여 타겟 웹 서버(30)에 실제 요청을 행하면, 소프트웨어 프로그램(5)은 쿠키가 보내져야 하는지 여부를 결정할 수 있어야 한다. 방문 일자 및 만료 시간이 브라우저(20) 상에 설정되기 때문에, 브라우저(20)는 각각의 요청마다 이러한 정보를 보내지는 않을 것이다. 따라서, 소프트웨어 프로그램(5)은 스크립트의 문서 쿠키 라인에 포함된 방문 일자 및 만료정보를 포착할 수 있어야 한다. 또한, 소프트웨어 프로그램(5)은 1) 소프트웨어 프로그램(5)에 의해 사용될 기타 쿠키들과 쿠키가 구별될 수 있어야 한다는 점과 2) 그 도메인이 중간 서버(10)의 것과 일치하기 때문에 쿠키가 보내어질 것이라는 점을 보장하여야 한다. 이러한 목적들을 달성하기 위해, 소프트웨어 프로그램(5)은 2개의 쿠키를 설정하도록 JavaScript를 중재할 수 있다. 중재된 JavaScript는 이하의 형태를 취할 수 있다:
<SCRIPT LANGUAGE = JavaScript>
var expires = new Date();
expires.serTime(expires.getTime() + 1000 * 60 * 60 * 24);
ServerCookie = "visited =" + newDate() + ";expires =" +
expires.toGMTSring(); ServerSetCookie(1);
</SCRIPT>
오리지날 스크립트에서 문서 쿠키 라인은 바로 셋팅되기 보다는 가변인 서버쿠키(ServerCookie)로 변경된다. 서버셋트쿠키(ServerSetCookie) 펑션을 사용하여 웹 페이지(35)가 셋팅하고자 한 쿠키와, 웹 페이지(35)가 셋팅하고자 한 쿠키에 대한 모든 생성 상세(예를 들어, 만료일, 쿠키를 이용해야 하는 페이지 등)를 포함하는 제2 쿠키를 셋팅할 수 있다. 또한, 웹 페이지(35)를 3월 3일자로 요청한 유저의 일례를 이용하여, 중재 전에 브라우저(20)는 단지 "March 3"를 전송했을 것이다. 자바스크립(JavaScript)이 소프트웨어 프로그램(5)에 의해 중재된 후, 브라우저(20)는 이 쿠키의 생성 상세에 따라 "March 3"을 다시 전송할 것이다. 소프트웨어 프로그램(5)은 쿠키 생성 상세를 포함하고 있기 때문에, 그 쿠키를 웹 페이지(5)로 전송해야 할지를 알 것이다. 소프트웨어 프로그램(5)은 데이타베이스(15)에 이 쿠키와 현재 날짜를 셋팅하는데 사용되는 스트링을 세이브할 것이다. 소프트웨어 프로그램(5)은 현재 날짜와 쿠키 생성 상세를 알고 있으므로, 유저의 패스를 나중에 리플레이할 때 쿠키를 전송할 적절한 시간 범위를 결정할 수 있을 것이다. 예를 들어, 현재 날짜가 10월 17일이면, 소프트웨어 프로그램(5)은 웹 페이지(5)로 "October 17"을 전송하여, 쿠키가 3월 4일이 아니라 10월 18일에 만료되도록 쿠키를 변경할 수 있다.
소프트웨어 프로그램(5)은 또한 IIS 등과 같은 임의의 웹 서버에서 "GET" 의뢰서 형식을 나타내는 데 사용될 수 있는 캐릭터 수에 대한 제한을 피할 수 있다. 웹 페이지(5)가 GET 의뢰서 형식을 포함하면, 소프트웨어 프로그램(5)은 단계(110)에서 "GET" 의뢰서 형식을 "POST" 의뢰서 형식으로 변경할 수 있는 데, 이는 POST가 캐릭터 수 제한이 없기 때문이다. 소프트웨어 프로그램(5)은 또한 어느 의뢰서형식이 GET 형식에서 POST 형식으로 변경되었는지를 마킹할 것이므로, 유저의 패스가 리플레이될 때 마킹된 의뢰서 형식을 "POST" 형식에서 "GET" 형식으로 다시 변경시킬 수 있다. 이러한 마킹은 마킹 단계(70)에서와 동일하게 행해질 수 있다.
단계(120)에서, 소프트웨어 프로그램(5)은 브라우저(20)가 타겟 웹 서버(30)가 아니라 중간 서버(10)로 재전송되도록 로케이션 응답 헤더(이것은 URL을 참조함)를 중재할 수 있다. 이것은 특정 웹 사이트가 브라우저(20)를 다른 웹 사이트로 재전송하면, 브라우저(20)가 대신에 중간 서버(10)로 재전송될 수 있도록 행해질 수 있다. 이러한 중재는 단계(60)에서와 동일하게 행해질 수 있다.
소프트웨어 프로그램(5)은 단계(50 내지 120)의 모든 또는 서브셋트를 실행한 후에 티칭 세션(teaching session)을 종료할 수 있다. 이것은 유저가, 예를 들어, "티칭 종료" 버튼을 클릭함으로써 티칭 세션이 끝난 것을 표시하거나, 유저가 소정 횟수의 요청을 행하였을 때 행해질 수 있다. 소프트웨어 프로그램(5)은 티칭 프로세스 전체를 통해 세이브된 URL 요청과; 쿠키, 헤더 및 형식 파라미터 등의 대응하는 데이타를 포함하는 데이타베이스(15) 내의 요청 이력을 컴파일링한다. 나중에 이러한 요청 이력을 사용하여 다이나믹 및 스태틱 웹 페이지를 통해 유저의 패스를 리플레이할 수 있다.
비록 본 발명을 상기 실시예에 대해서만 기술 및 도시하였지만, 첨부된 청구범위에 기술된 본 발명의 사상 및 범주를 벗어나지 않는 한 상기 실시예에 대한 여러가지의 변형 및 대체 실시예가 가능하다는 것은 말할 필요도 없다.

Claims (37)

  1. 중간 서버에서 웹 페이지를 중재하기 위한 방법에 있어서,
    타겟 웹 서버로부터 웹 페이지를 검색하는 단계와,
    상기 웹 페이지가 캐시되지 않도록 보장하는 단계와,
    상기 웹 페이지 내의 다이나믹 링크를 상기 중간 서버를 참조하도록 변경하는 단계
    를 포함하는 웹 페이지 중재 방법.
  2. 제1항에 있어서,
    상기 다이나믹 링크는 상대 링크이며, 상기 웹 페이지 내의 상대 링크를 변경하는 단계는
    상기 상대 링크가 베이스 태그를 포함하면, 상기 베이스 태그를 상기 중간 서버를 참조하도록 변경하는 단계와,
    상기 상대 링크가 상기 베이스 태그를 포함하지 않으면, 참조 기준 베이스 태그-상기 참조 기준 베이스 태그는 상기 중간 서버를 참조함-를 삽입하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서,
    상기 웹 페이지가 캐시되지 않도록 보장하는 단계는 상기 웹 페이지가 즉시만료되도록 셋팅하는 단계를 포함하는 방법.
  4. 제1항에 있어서,
    상기 다이나믹 링크는 절대 URL이며, 상기 절대 URL을 프로토콜에 의해 식별하는 단계를 더 포함하는 방법.
  5. 제1항에 있어서,
    상기 웹 페이지의 다이나믹 링크를 상기 중간 서버를 참조하도록 변경하는 단계는 호스트명을 사용하여 상기 웹 페이지에 연관된 상기 타겟 웹 서버를 규정하는 단계를 더 포함하는 방법.
  6. 제1항에 있어서,
    참조할 상기 웹 페이지의 다이나믹 링크를 상기 중간 서버를 참조하도록 변경하는 단계는 포트를 사용하여 상기 웹 페이지에 연관된 상기 타겟 웹 서버를 규정하는 단계를 더 포함하는 방법.
  7. 제1항에 있어서,
    상기 웹 페이지의 자원 소스 태그에 따라 자원 타입을 식별하는 단계와,
    상기 자원 타입을 마킹하는 단계를 더 포함하는 방법.
  8. 제1항에 있어서,
    문서 도메인 스크립트 코맨드를 상기 중간 서버용 도메인을 참조하도록 변경하는 단계를 더 포함하는 방법.
  9. 제1항에 있어서,
    지원되지 않은 링크를 에러 메시지로 대체시키는 단계를 더 포함하는 방법.
  10. 제1항에 있어서,
    제1 쿠기(cookie)에 대한 일련의 생성 상세를 기록하는 단계를 더 포함하는 방법.
  11. 제10항에 있어서,
    상기 일련의 생성 상세는 http-헤더부터 기록되는 방법.
  12. 제10항에 있어서,
    브라우저가 제2 쿠키를 상기 중간 웹 서버로 전송하게 하도록 하는 단계를 더 포함하며, 상기 제2 쿠키는 상기 일련의 제1 쿠키 생성 상세를 포함하는 방법.
  13. 제1항에 있어서,
    GET 의뢰서(submission) 형식을 POST 의뢰서 형식으로 변경시키는 단계를 포함하는 방법.
  14. 중간 서버에서 웹 페이지를 중재하기 위한 시스템에 있어서,
    컴퓨터로 판독가능한 매체와,
    상기 컴퓨터로 판독가능한 매체에 저장된 소프트웨어 명령어들
    을 포함하며,
    상기 소프트웨어 명령어들은
    타겟 웹 서버로부터 웹 페이지를 검색하고,
    상기 웹 페이지가 캐시되지 않도록 보장하고,
    상기 웹 페이지 내의 다이나믹 링크를 상기 중간 서버를 참조하도록 변경하도록 동작하는 중간 서버에서 웹 페이지를 중재하기 위한 시스템.
  15. 제14항에 있어서,
    상기 소프트웨어 명령어들은 또한 상기 웹 페이지가 즉시 만료되도록 설정함으로써 상기 웹 페이지가 캐시되지 않게끔 보장하도록 동작하는 시스템.
  16. 제14항에 있어서,
    상기 다이나믹 링크는 상대 링크이며, 상기 소프트웨어 명령어들은 또한,
    상기 상대 링크가 베이스 태그를 포함하면, 상기 베이스 태그를 상기 중간 서버를 참조하도록 변경하고,
    상기 상대 링크가 상기 베이스 태그를 포함하지 않으면, 참조 기준 베이스 태그-상기 참조 기준 베이스 태그는 상기 중간 서버를 참조함-를 삽입하도록 동작하는 시스템.
  17. 제14항에 있어서,
    상기 소프트웨어 명령어들은 또한 호스트명을 사용하여 상기 웹 페이지에 연관된 상기 타겟 웹 서버를 규정하도록 동작하는 시스템.
  18. 제14항에 있어서,
    상기 소프트웨어 명령어들은 또한 포트를 사용하여 상기 웹 페이지에 연관된 상기 타겟 웹 서버를 규정하도록 동작하는 시스템.
  19. 제14항에 있어서,
    상기 다이나믹 링크는 절대 URL이며, 상기 소프트웨어 명령어들은 또한 상기 절대 URL을 프로토콜에 의해 식별하도록 동작하는 시스템.
  20. 제14항에 있어서,
    상기 소프트웨어 명령어들은 또한 상기 웹 페이지의 자원 소스 태그에 따라 자원 콘텐츠를 식별하고, 상기 자원 콘텐츠를 마킹하도록 동작하는 시스템.
  21. 제14항에 있어서,
    상기 소프트웨어 명령어들은 또한 문서 도메인 스크립트 코맨드를 상기 중간 서버용 도메인을 참조하도록 변경시키도록 동작하는 시스템.
  22. 제14항에 있어서,
    상기 소프트웨어 명령어들은 또한 지원되지 않은 링크를 에러 메시지로 대체시키도록 동작하는 시스템.
  23. 제14항에 있어서,
    상기 소프트웨어 명령어들은 또한 제1 쿠기(cookie)에 대한 일련의 생성 상세를 기록하도록 동작하는 시스템.
  24. 제23항에 있어서,
    상기 소프트웨어 명령어들은 또한 상기 일련의 생성 상세를 http-헤더부터 기록하도록 동작하는 시스템.
  25. 제23항에 있어서,
    상기 소프트웨어 명령어들은 또한 브라우저가 제2 쿠키를 상기 중간 웹 서버로 전송하게 하도록 동작하며, 상기 제2 쿠키는 상기 일련의 제1 쿠키 생성 상세를 포함하는 시스템.
  26. 제14항에 있어서,
    상기 소프트웨어 명령어들은 또한 GET 의뢰서 형식을 POST 의뢰서 형식으로 변경하도록 동작하는 시스템.
  27. 중간 서버에서 웹 페이지를 중재하기 위한 방법에 있어서,
    타겟 웹 서버로부터 웹 페이지를 검색하는 단계와,
    상기 웹 페이지가 캐시되지 않도록 보장하는 단계와,
    상기 웹 페이지의 절대 URL을 프로토콜에 따라 식별하는 단계와,
    상기 절대 URL을 상기 중간 서버를 참조하도록 변경하는 단계
    를 포함하는 웹 페이지 중재 방법.
  28. 제27항에 있어서,
    상기 웹 페이지의 상대 URL을 상기 중간 서버를 참조하도록 변경하는 단계를 더 포함하는 방법.
  29. 제27항에 있어서,
    쿠키에 대한 일련의 생성 상세를 기록하는 단계를 더 포함하는 방법.
  30. 제27항에 있어서,
    상기 웹 페이지가 캐시되지 않도록 보장하는 단계는 상기 웹 페이지를 즉시 만료하도록 셋팅하는 단계를 포함하는 방법.
  31. 중간 서버에서 웹 페이지를 중재하기 위한 방법에 있어서,
    타겟 웹 서버로부터 웹 페이지를 검색하는 단계와,
    상기 웹 페이지가 캐시되지 않도록 보장하는 단계와,
    상기 웹 페이지의 상대 링크를 상기 중간 서버를 참조하도록 변경하는 단계를 포함하며,
    상기 상대 링크가 베이스 태그를 포함하면, 상기 베이스 태그를 상기 중간 서버를 참조하도록 변경하는 단계와,
    상기 상대 링크가 상기 베이스 태그를 포함하지 않으면, 참조 기준 베이스 태그-상기 참조 기준 베이스 태그는 상기 중간 서버를 참조함-를 삽입하는 단계를 더 포함하는 웹 페이지 중재 방법.
  32. 제31항에 있어서,
    절대 URL을 상기 중간 서버를 참조하도록 변경하는 단계를 더 포함하는 방법.
  33. 제31항에 있어서,
    쿠키에 대한 일련의 생성 상세를 기록하는 단계를 더 포함하는 방법.
  34. 제31항에 있어서,
    상기 웹 페이지가 캐시되지 않도록 보장하는 단계는 상기 웹 페이지가 즉시 만료되도록 셋팅하는 단계를 포함하는 방법.
  35. 중간 서버에서 웹 페이지를 중재하기 위한 방법에 있어서,
    타겟 웹 서버로부터 웹 페이지를 검색하는 단계와,
    상기 웹 페이지가 캐시되지 않도록 보장하는 단계와,
    상기 웹 페이지의 절대 URL을 상기 중간 서버를 참조하도록 변경하는 단계와,
    상기 웹 페이지의 상대 URL을 상기 중간 서버를 참조하도록 변경하는 단계
    를 포함하는 웹 페이지 중재 방법.
  36. 제35항에 있어서,
    쿠키에 대한 일련의 생성 상세를 기록하는 단계를 더 포함하는 방법.
  37. 제35항에 있어서,
    상기 웹 페이지가 캐시되지 않도록 보장하는 단계는 상기 웹 페이지가 즉시 만료되도록 셋팅하는 단계를 포함하는 방법.
KR1020027006145A 1999-11-12 2000-11-13 웹 페이지 중재 시스템 및 방법 KR100748770B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16510399P 1999-11-12 1999-11-12
US16510299P 1999-11-12 1999-11-12
US60/165,102 1999-11-12
US60/165,103 1999-11-12

Publications (2)

Publication Number Publication Date
KR20020075369A true KR20020075369A (ko) 2002-10-04
KR100748770B1 KR100748770B1 (ko) 2007-08-13

Family

ID=26861109

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020027006146A KR20030040192A (ko) 1999-11-12 2000-11-10 인터넷을 통해 소정의 경로를 재생하기 위한 시스템 및 방법
KR1020027006145A KR100748770B1 (ko) 1999-11-12 2000-11-13 웹 페이지 중재 시스템 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020027006146A KR20030040192A (ko) 1999-11-12 2000-11-10 인터넷을 통해 소정의 경로를 재생하기 위한 시스템 및 방법

Country Status (9)

Country Link
EP (2) EP1337920B9 (ko)
JP (3) JP4729218B2 (ko)
KR (2) KR20030040192A (ko)
CN (2) CN100336031C (ko)
AU (2) AU1479101A (ko)
CA (2) CA2391426A1 (ko)
ES (1) ES2536318T3 (ko)
HK (1) HK1054103B (ko)
WO (2) WO2001035222A2 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6954783B1 (en) 1999-11-12 2005-10-11 Bmc Software, Inc. System and method of mediating a web page
US7152106B2 (en) 2001-07-06 2006-12-19 Clickfox, Llc Use of various methods to reconstruct experiences of web site visitors
US7624176B2 (en) * 2004-10-14 2009-11-24 International Business Machines Corporation Method and system for programmatically generating synthetic transactions to monitor performance and availability of a web application
CN100392649C (zh) * 2004-12-31 2008-06-04 北京联动在线通讯科技有限公司 对屏幕显示的特定匹配词语实现快速链接的方法
WO2006128178A2 (en) * 2005-05-27 2006-11-30 Nexquest, Llc Integrated method and system for accessing and aggregating disparate remote server services
WO2007088331A1 (en) * 2006-01-31 2007-08-09 Speed-Trap.Com Limited Website monitoring and cookie setting
GB0601939D0 (en) 2006-01-31 2006-03-15 Speed Trap Com Ltd Website monitoring and cookie setting
US7991891B2 (en) 2006-02-02 2011-08-02 Microsoft Corporation Version-specific content searching
JP4849929B2 (ja) 2006-03-28 2012-01-11 富士通株式会社 シナリオ作成プログラム
JP4805199B2 (ja) * 2007-03-20 2011-11-02 富士通株式会社 シナリオ作成プログラム及びシナリオ作成装置
US8200752B2 (en) * 2009-12-23 2012-06-12 Citrix Systems, Inc. Systems and methods for policy based transparent client IP insertion
CN104360942A (zh) * 2014-11-07 2015-02-18 电信科学技术第十研究所 一种表单测试的计算机实现的方法、计算机及系统
PT3247084T (pt) 2016-05-17 2019-06-06 Nolve Dev S L Servidor e metodo para fornecer acesso seguro a serviços com base na web
CN109656475A (zh) * 2018-12-03 2019-04-19 郑州云海信息技术有限公司 一种自动关闭cache的方法、装置、终端及存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2661562B2 (ja) * 1994-10-11 1997-10-08 日本電気株式会社 プログラム評価装置
US5752022A (en) * 1995-08-07 1998-05-12 International Business Machines Corp. Method for creating a hypertext language for a distributed computer network
JPH0962704A (ja) * 1995-08-30 1997-03-07 Hitachi Ltd リンク構造情報のノード動作設定方法
GB9603582D0 (en) * 1996-02-20 1996-04-17 Hewlett Packard Co Method of accessing service resource items that are for use in a telecommunications system
US5974572A (en) * 1996-10-15 1999-10-26 Mercury Interactive Corporation Software system and methods for generating a load test using a server access log
JP3646471B2 (ja) * 1997-05-14 2005-05-11 日本電信電話株式会社 情報提供方法及び個人適応情報提供サーバ及び情報提供プログラムを格納した記憶媒体
JPH1139205A (ja) * 1997-07-18 1999-02-12 Hitachi Ltd ハイパーテキストの処理システム
JPH11175446A (ja) * 1997-12-10 1999-07-02 Fuji Xerox Co Ltd データ中継装置、要求中継装置、データ通信システム、データ中継プログラムを記録したコンピュータ読み取り可能な記録媒体及び要求中継プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH11175442A (ja) * 1997-12-11 1999-07-02 Fuji Xerox Co Ltd データ中継装置、情報端末装置、データ中継プログラムを記録したコンピュータ読み取り可能な記録媒体及び情報閲覧プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH11203226A (ja) * 1998-01-09 1999-07-30 Sharp Corp ハイパーテキスト保存装置及びハイパーテキスト保存装置制御プログラムを記憶した媒体
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
JPH11265344A (ja) * 1998-03-17 1999-09-28 Digital Vision Laboratories:Kk コンピュータ・ネットワークを利用したサービス提供システム
US6278966B1 (en) * 1998-06-18 2001-08-21 International Business Machines Corporation Method and system for emulating web site traffic to identify web site usage patterns
US6138157A (en) 1998-10-12 2000-10-24 Freshwater Software, Inc. Method and apparatus for testing web sites
US6954783B1 (en) 1999-11-12 2005-10-11 Bmc Software, Inc. System and method of mediating a web page

Also Published As

Publication number Publication date
CN1589434A (zh) 2005-03-02
CN100336031C (zh) 2007-09-05
ES2536318T3 (es) 2015-05-22
KR20030040192A (ko) 2003-05-22
WO2001035259A3 (en) 2003-12-11
EP1337920A2 (en) 2003-08-27
JP5010747B2 (ja) 2012-08-29
AU1761801A (en) 2001-06-06
WO2001035259A2 (en) 2001-05-17
EP1337920B1 (en) 2015-02-25
CA2391426A1 (en) 2001-05-17
KR100748770B1 (ko) 2007-08-13
WO2001035222A3 (en) 2003-06-05
EP1390870A2 (en) 2004-02-25
CN1433549A (zh) 2003-07-30
JP4729218B2 (ja) 2011-07-20
JP5010081B2 (ja) 2012-08-29
CA2391417A1 (en) 2001-05-17
WO2001035222A2 (en) 2001-05-17
JP2011118938A (ja) 2011-06-16
CN1249608C (zh) 2006-04-05
AU1479101A (en) 2001-06-06
JP2003530625A (ja) 2003-10-14
JP2004500629A (ja) 2004-01-08
HK1054103B (zh) 2015-07-31
EP1337920B9 (en) 2015-05-27
HK1054103A1 (en) 2003-11-14

Similar Documents

Publication Publication Date Title
US6954783B1 (en) System and method of mediating a web page
US7346703B2 (en) Request tracking for analysis of website navigation
US7849162B2 (en) System and method for selecting a best-fit form or URL in an originating web page as a target URL for replaying a predefined path through the internet
US8429201B2 (en) Updating a database from a browser
USRE41440E1 (en) Gathering enriched web server activity data of cached web content
US8032626B1 (en) Method and system for monitoring the performance of a distributed application
US10104191B2 (en) Page views for proxy servers
JP5010747B2 (ja) インターネットを介した定義済みパスを再生するシステムおよび方法
US5835718A (en) URL rewriting pseudo proxy server
CA2734774C (en) A user-transparent system for uniquely identifying network-distributed devices without explicitly provided device or user identifying information
US20100082747A1 (en) Real-time collaborative browsing
US20050027820A1 (en) Page views proxy servers
RU2272318C2 (ru) Считываемый компьютером носитель записи, на котором записан файл изображения, устройство для изготовления носителя записи, носитель, на котором записана программа для создания файла изображения, устройство для передачи файла изображения, устройство для обработки файла изображения и носитель, на котором записана программа обработки файла изображения
US20050015442A1 (en) Page views for proxy servers
WO2001044975A2 (en) Identifying web users in a proxy server
WO2001059620A2 (en) A system and method for refreshing internet bookmarks

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20120727

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130723

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140722

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150716

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160720

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170719

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180718

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190718

Year of fee payment: 13