KR102113409B1 - 하이퍼텍스트 전송 프로토콜 요청을 재송신하는 방법과 디바이스, 및 클라이언트 단말 - Google Patents

하이퍼텍스트 전송 프로토콜 요청을 재송신하는 방법과 디바이스, 및 클라이언트 단말 Download PDF

Info

Publication number
KR102113409B1
KR102113409B1 KR1020187001002A KR20187001002A KR102113409B1 KR 102113409 B1 KR102113409 B1 KR 102113409B1 KR 1020187001002 A KR1020187001002 A KR 1020187001002A KR 20187001002 A KR20187001002 A KR 20187001002A KR 102113409 B1 KR102113409 B1 KR 102113409B1
Authority
KR
South Korea
Prior art keywords
http
list
web page
failed
http request
Prior art date
Application number
KR1020187001002A
Other languages
English (en)
Other versions
KR20180019162A (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 KR20180019162A publication Critical patent/KR20180019162A/ko
Application granted granted Critical
Publication of KR102113409B1 publication Critical patent/KR102113409B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • H04L67/2814
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/58Caching of addresses or names
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Abstract

본 출원은 하이퍼텍스트 전송 프로토콜 요청을 재송신하는 방법과 디바이스, 및 클라이언트 단말을 개시한다. 본 방법은, 클라이언트 단말에 의해, 하이퍼텍스트 전송 프로토콜(HTTP) 요청을 서버에 송신하고, HTTP 요청의 정보를 기록하는 단계; 제1 웹 페이지로부터 제2 웹 페이지로의 리다이렉션(redirection)이 발생될 필요가 있는 경우, 송신 실패된 HTTP 요청이 제1 웹 페이지 상태에서 존재한다고 결정되면, 송신 실패된 HTTP 요청의 정보를 획득하는 단계; 송신 실패된 HTTP 요청의 정보를 제2 웹 페이지에 전송하는 단계; 및 제2 웹 페이지로의 리다이렉션 후, 송신 실패된 HTTP 요청의 정보에 따라 송신 실패된 HTTP 요청을 재송신하는 단계를 포함한다. 본 출원의 실시예에 따르면, 웹 페이지 리다이렉션으로 인해 송신 실패된 HTTP 요청이 재송신될 수 있어서, 종래 기술의 문제점을 해결한다.

Description

하이퍼텍스트 전송 프로토콜 요청을 재송신하는 방법과 디바이스, 및 클라이언트 단말
본 출원은 "하이퍼텍스트 전송 프로토콜 요청을 재송신하는 방법과 디바이스, 및 클라이언트 단말"이라는 발명의 명칭으로 2015년 6월 16일에 출원된 중국 특허 출원 제201510335208.3호의 우선권을 주장하며, 이 중국 특허 출원은 본 명세서에서 그 전체가 참고로 병합된다.
본 출원은 브라우저 및 이와 유사한 컨테이너의 기술 분야에 관한 것이며, 특히, 하이퍼텍스트 전송 프로토콜(hypertext transfer protocol; HTTP) 요청을 재송신하는 방법과 디바이스, 및 클라이언트 단말에 관한 것이다.
하이퍼텍스트 전송 프로토콜(HTTP) 요청은 클라이언트 단말의 모니터링 데이터를 서버 단말에 기록하는 방법이다. 예컨대, 사용자가 웹 페이지 상의 링크를 클릭하거나 웹 페이지 상에서 계정에 로그인하는 등과 같이, 클라이언트 단말 상에서 현재 웹 페이지에 대한 작업을 수행하는 경우, 클라이언트 단말은 상기 작업을 모니터링하고 HTTP 요청을 통해 서버에 모니터링 데이터를 송신할 것이다.
실제 응용에서, 클라이언트 단말 상에서 웹 페이지 리다이렉션(redirection), 예컨대, 제1 웹 페이지로부터 제2 웹 페이지로의 리다이렉션이 발생하면, 클라이언트 단말은 제1 웹 페이지의 콘텐츠를 로딩해제하고 제2 웹 페이지의 콘텐츠를 로딩할 것이다. 클라이언트 단말이 제1 웹 페이지를 로딩해제하는 프로세스 동안, 제1 웹 페이지 상태에서 송신된 HTTP 요청이 송신 실패되거나 또는 아직 완전히 송신되지 않은 경우, HTTP 요청은 취소될 가능성이 매우 높을 수 있고, 따라서 서버 단말은 HTTP 요청에서 운송된 모니터링 데이터를 수신할 수 없어서, 데이터 손실이 발생할 수 있다.
본 출원은 하이퍼텍스트 전송 프로토콜 요청을 재송신하는 방법과 디바이스, 및 클라이언트 단말을 제공하여, 웹 페이지 리다이렉션으로 인해 송신 실패된 HTTP 요청이 재송신될 수 있게 함으로써 종래 기술의 문제점을 해결한다.
본 출원의 실시예의 제1 양태에서, 하이퍼텍스트 전송 프로토콜 요청을 재송신하는 방법이 제공되며, 상기 방법은,
클라이언트 단말에 의해, 하이퍼텍스트 전송 프로토콜(HTTP) 요청을 서버에 송신하고, HTTP 요청의 정보를 기록하는 단계;
제1 웹 페이지로부터 제2 웹 페이지로의 리다이렉션이 발생될 필요가 있는 경우, 송신 실패된 HTTP 요청이 제1 웹 페이지 상태에서 존재한다고 결정되면, 송신 실패된 HTTP 요청의 정보를 획득하는 단계;
송신 실패된 HTTP 요청의 정보를 제2 웹 페이지에 전송하는 단계; 및
제2 웹 페이지로의 리다이렉션 후, 송신 실패된 HTTP 요청의 정보에 따라 송신 실패된 HTTP 요청을 재송신하는 단계를 포함한다.
본 출원의 실시예의 제2 양태에서, 하이퍼텍스트 전송 프로토콜 요청을 재송신하는 디바이스가 제공되며, 상기 디바이스는,
하이퍼텍스트 전송 프로토콜(HTTP) 요청을 서버에 송신하도록 구성된 제1 송신 유닛;
HTTP 요청의 정보를 기록하도록 구성된 제1 기록 유닛;
제1 웹 페이지로부터 제2 웹 페이지로의 리다이렉션이 발생될 필요가 있는 경우, 송신 실패된 HTTP 요청이 제1 웹 페이지 상태에서 존재한다고 결정되면, 송신 실패된 HTTP 요청의 정보를 획득하도록 구성된 획득 유닛;
송신 실패된 HTTP 요청의 정보를 제2 웹 페이지에 전송하도록 구성된 전송 유닛; 및
제2 웹 페이지로의 리다이렉션 후, 송신 실패된 HTTP 요청의 정보에 따라 송신 실패된 HTTP 요청을 재송신하도록 구성된 제2 송신 유닛을 포함한다.
본 출원의 실시예의 제3 양태에서, 클라이언트 단말이 제공되며, 상기 클라이언트 단말은,
프로세서; 및 상기 프로세서의 실행가능한 명령어들을 저장하도록 구성된 메모리를 포함하고,
상기 프로세서는,
하이퍼텍스트 전송 프로토콜(HTTP) 요청을 서버에 송신하고, 상기 HTTP 요청의 정보를 기록하고;
제1 웹 페이지로부터 제2 웹 페이지로의 리다이렉션이 발생될 필요가 있는 경우, 송신 실패된 HTTP 요청이 제1 웹 페이지 상태에서 존재한다고 결정되면, 송신 실패된 HTTP 요청의 정보를 획득하고;
송신 실패된 HTTP 요청의 정보를 제2 웹 페이지에 전송하며;
제2 웹 페이지로의 리다이렉션 후, 송신 실패된 HTTP 요청의 정보에 따라 송신 실패된 HTTP 요청을 재송신하도록 구성된다.
본 출원의 실시예에서, 서버에 HTTP 요청을 송신할 때, 클라이언트 단말은 HTTP 요청의 정보를 기록하고; 제1 웹 페이지로부터 제2 웹 페이지로의 리다이렉션이 발생될 필요가 있는 경우, 클라이언트 단말은 송신 실패된 HTTP 요청이 제1 웹 페이지 상태에서 존재하는지 여부를 결정하고; 만약 그러한 경우, 클라이언트 단말은 송신 실패된 모든 HTTP 요청들의 정보를 획득하고, 이 정보를 제2 웹 페이지에 전송하여, 제2 웹 페이지로의 리다이렉션 후에, 클라이언트 단말이, 제1 웹 페이지 상태에서 송신 실패된 HTTP 요청의 전송된 정보에 따라, 송신 실패된 HTTP 요청들을 재송신할 수 있도록 함으로써, 서버 단말 상에서의 데이터 손실을 회피하고 종래 기술의 문제점을 해결할 수 있다.
도 1은 본 출원의 실시예에 따른 하이퍼텍스트 전송 프로토콜 요청을 재송신하는 방법의 흐름도이다.
도 2는 본 출원의 다른 실시예에 따른 하이퍼텍스트 전송 프로토콜 요청을 재송신하는 방법의 흐름도이다.
도 3은 본 출원에 따라 하이퍼텍스트 전송 프로토콜 요청을 재송신하는 디바이스가 제공된 장치의 하드웨어 구조도이다.
도 4는 본 출원의 실시예에 따른 하이퍼텍스트 전송 프로토콜 요청을 재송신하는 디바이스의 블록도이다.
본 명세서에서는 예시적인 실시예들을 상세히 설명할 것이며, 그 예시들을 첨부 도면들에서 도시한다. 첨부 도면들을 수반하는 이하의 설명에서, 달리 명시되지 않는 한, 상이한 첨부 도면들에서의 동일한 참조번호는 동일하거나 유사한 엘리먼트들을 가리킨다. 이하의 예시적인 실시예들에서 설명된 구현예들은 본 출원과 일치하는 모든 구현예들을 나타내는 것은 아니다. 그에 반해서, 이들은 첨부된 청구항에서 상세하게 설명된 본 출원의 일부 양태와 일치하는 디바이스 및 방법의 예시들에 불과하다.
본 출원에 사용된 용어는 본 출원을 제한시키는 대신에, 특정 실시예를 설명하기 위해 사용된 것일 뿐이다. 본 출원 및 첨부된 청구항에서 사용되는 단수 형태들은, 다른 의미를 뜻하는 상황으로 명백히 규정되지 않는 한, 복수 형태를 또한 포함한다. 본 명세서에서 사용된 "및/또는"의 용어는 나열된 하나 이상의 관련 항목의 임의의 또는 모든 가능한 조합을 의미하고 이를 포함한다는 것을 더 이해해야 한다.
"제1", "제2", 및 "제3"과 같은 용어가 본 출원에서 다양한 종류의 정보를 기술하는데 사용될 수 있지만, 이러한 종류의 정보는 상기 용어들로 제한되어서는 안된다는 것을 이해해야 한다. 이들 용어는 동일한 유형의 정보를 서로 구별시키기 위해 사용된 것일 뿐이다. 예를 들어, 본 출원의 범위를 벗어나지 않으면서, 제1 정보는 제2 정보로서도 지칭될 수 있고, 마찬가지로, 제2 정보는 제1 정보로서도 지칭될 수 있다. 문맥에 따라, 여기에서 사용된 "만약 ~ 이면"이라는 단어는 "... 경우", "... 때" 또는 "결정에 대한 응답으로"로서 설명될 수 있다.
HTTP는 TCP/IP(Transmission Control Protocol/Internet Protocol) 모델의 응용 계층 프로토콜이다. 브라우저와 서버가 서로 통신할 필요가 있는 경우, TCP 연결이 먼저 구축되고, 브라우저는 서버에 요청 정보를 송신한다.
구체적으로, 사용자가 웹 페이지 상의 링크를 클릭하거나 웹 페이지 상에서 계정에 로그인하는 등과 같이, 클라이언트 단말 상에서 현재 웹 페이지에 대한 작업을 수행하는 경우, 클라이언트 단말은 상기 작업을 모니터링하고 기록을 위해 대응하는 HTTP 요청 정보를 서버에 송신한다.
서버는 HTTP 요청 정보를 수신한 후 대응하는 응답 정보를 반송한다. 클라이언트 단말이 서버에 의해 반송된 정상적인 응답 정보를 수신하면, 이는 HTTP 요청이 성공적으로 송신되었음을 나타낸다. 클라이언트 단말이 서버에 의해 반송된 비정상적인 응답 정보를 수신하거나 또는 서버에 의해 반송된 응답 정보를 수신하지 못하면, 이는 HTTP 요청이 송신 실패되었음을 나타낸다. HTTP 요청이 송신 실패된 이유는 상기 요청이 완전히 송신되기 전에 브라우저에 의해 취소되어, 서버가 HTTP 요청을 전혀 수신하지 못함으로써 데이터 손실을 초래시켰기 때문일 수 있다.
본 출원의 실시예는 하이퍼텍스트 전송 프로토콜 요청을 재송신하는 방법을 제공한다. 본 방법은 웹 페이지 리다이렉션 전에 송신 실패된 모든 HTTP 요청의 정보를 기록하고, 리다이렉션 후에 상기 정보를 다음 웹 페이지에 전송할 수 있음으로써, 다음 웹 페이지로의 리다이렉션 후, 클라이언트 단말이 상기 정보에 따라 송신 실패된 HTTP 요청을 재송신하여, 서버 단말 상에서의 데이터 손실의 문제를 해결할 수 있게 한다.
도 1은 본 출원의 실시예에 따른 하이퍼텍스트 전송 프로토콜 요청을 재송신하는 방법의 흐름도이다. 도 1에서 도시된 바와 같이, 본 방법은 다음 단계들을 포함할 수 있다:
단계 S100: 클라이언트 단말은 HTTP 요청을 서버에 송신하고, HTTP 요청의 정보를 기록한다.
단계 S101: 제1 웹 페이지로부터 제2 웹 페이지로의 리다이렉션이 발생될 필요가 있는 경우, 송신 실패된 HTTP 요청이 제1 웹 페이지 상태에서 존재한다고 클라이언트 단말이 결정한 경우, 클라이언트 단말은 송신 실패된 HTTP 요청의 정보를 획득한다.
단계 S102: 클라이언트 단말은 송신 실패된 HTTP 요청의 정보를 제2 웹 페이지에 전송한다.
단계 S103: 제2 웹 페이지로의 리다이렉션 후, 클라이언트 단말은 송신 실패된 HTTP 요청의 정보에 따라, 송신 실패된 HTTP 요청을 재송신한다.
본 출원의 실시예에서, 서버에 HTTP 요청을 송신할 때, 클라이언트 단말은 HTTP 요청의 정보를 기록하고; 제1 웹 페이지로부터 제2 웹 페이지로의 리다이렉션이 발생될 필요가 있는 경우, 클라이언트 단말은 송신 실패된 HTTP 요청이 제1 웹 페이지 상태에서 존재하는지 여부를 결정하고; 만약 그러한 경우, 클라이언트 단말은 송신 실패된 모든 HTTP 요청들의 정보를 획득하고, 이 정보를 제2 웹 페이지에 전송하여, 제2 웹 페이지로의 리다이렉션 후에, 클라이언트 단말이, 제1 웹 페이지 상태에서 송신 실패된 HTTP 요청의 전송된 정보에 따라, 송신 실패된 HTTP 요청들을 재송신할 수 있도록 함으로써, 서버 단말 상에서의 데이터 손실을 회피하고 종래 기술의 문제점을 해결할 수 있다.
도 2는 본 출원의 다른 실시예에 따른 하이퍼텍스트 전송 프로토콜 요청을 재송신하는 방법의 흐름도이다. 도 2에서 도시된 바와 같이, 본 방법은 다음 단계들을 포함할 수 있다:
단계 S200: 클라이언트 단말은 제1 웹 페이지 상에서 사용자에 의해 수행되는 작업을 모니터링하고, HTTP 요청을 서버에 송신하며, HTTP 요청의 정보를 기록한다.
HTTP 요청은 제1 웹 페이지 상에서의 작업의 모니터링 데이터를 운송한다.
여기서 제1 웹 페이지는 클라이언트 단말에 의해 현재 열려있는 웹 페이지를 가리킬 수 있다. 예컨대, 사용자가 제1 웹 페이지 상의 링크를 클릭하거나 제1 웹 페이지 상에서 계정에 로그인하는 등과 같이, 클라이언트 단말 상에서 제1 웹 페이지에 대한 작업을 수행하는 경우, 클라이언트 단말은 상기 작업을 모니터링하고 HTTP 요청의 형태로 서버 단말에 모니터링 데이터를 송신할 것이다.
본 출원의 실시예에서, 클라이언트 단말은, HTTP 요청을 송신할 때, 요청 방법, URL(Uniform Resource Locator) 어드레스, HTTP 프로토콜 버전 등을 비롯한, HTTP 요청의 완전한 정보를 기록함으로써, HTTP 요청이 송신 실패하였다고 결정한 후, 클라이언트 단말이, HTTP 요청의 기록된 완전한 정보에 따라, HTTP 요청을 재송신하여, 서버 단말 상에서의 데이터 손실을 회피할 수 있도록 한다는 것을 유념해야 한다.
단계 S201: 클라이언트 단말은 송신 실패된 요청들의 리스트에 HTTP 요청을 기록한다.
본 출원의 실시예에서, 클라이언트 단말은, 서버에 HTTP 요청을 송신할 때, 송신 실패된 요청들의 리스트에 HTTP 요청의 정보를 기입한다. 송신 실패된 요청들의 리스트는 클라이언트 단말에 저장된다.
단계 S202: 클라이언트 단말은, 서버에 의해 반송된 정상적인 응답 메시지를 수신할 때, 송신 실패된 요청들의 리스트로부터 HTTP 요청을 삭제하며; 그렇지 않고, 클라이언트 단말이 서버에 의해 반송된 비정상적인 응답 메시지를 수신하거나 또는 서버에 의해 반송된 응답 메시지를 수신하지 못한 경우, 클라이언트 단말은 송신 실패된 요청들의 리스트에 기록된 HTTP 요청을 유지한다.
구체적으로, 일반적인 경우에서, 서버가 클라이언트 단말에 의해 송신된 HTTP 요청에 대한 응답 메시지를 반송할 때 다음과 같은 상황들이 존재한다:
응답 메시지의 상태 코드가 200인 경우 - 이 메시지는 정상적인 응답 메시지이며, HTTP 요청이 성공적으로 송신되었음을 나타냄 -; 응답 메시지의 상태 코드가 200이 아닌 경우 - 이 메시지는 비정상적인 응답 메시지이며, HTTP 요청이 송신 실패되었음을 나타냄 -; 어떠한 응답 메시지도 수신되지 않은 경우 - 이는 HTTP 요청이 완전히 송신되기 전에 웹 페이지 리다이렉션이 발생하여, HTTP 요청이 클라이언트 단말에 의해 직접 취소되고, 서버 단말은 HTTP 요청을 전혀 수신하지 못하는 사실에 의해 야기될 수 있으며, 이러한 상황은 HTTP 요청이 송신 실패되었음을 나타냄 -.
서버 단말 상에서 데이터 무결성을 보장하기 위해서는, 위의 임의의 상황에서 송신 실패된 HTTP 요청에 대해 데이터가 재송신될 필요가 있다. 따라서, HTTP 요청이 송신 실패되었다고 결정한 경우, 클라이언트 단말은 송신 실패된 요청들의 리스트에 HTTP 요청의 관련 정보를 유지하여, 이후에 리다이렉션되는 웹 페이지 상에서 클라이언트 단말은 송신 실패된 요청들의 리스트에서의 기록에 따라 송신 실패된 HTTP 요청을 재송신할 수 있다.
단계 S203: 현재 웹 페이지가 제1 웹 페이지로부터 제2 웹 페이지로 리다이렉션될 필요가 있음을 검출한 경우, 클라이언트 단말은 송신 실패된 요청들의 리스트가 비어있는지 여부를 판단하고, 그러한 경우에는, 단계 S205가 곧바로 수행되며, 그렇지 않은 경우에는, 단계 S204가 수행된다.
단계 S204: 클라이언트 단말은 송신 실패된 요청들의 리스트에 HTTP 요청의 정보를 기록하고, 이 정보를 제2 웹 페이지에 전송하며; 단계 S205가 수행된다.
실제 응용에서, 클라이언트 단말 상에서 웹 페이지 리다이렉션, 예컨대, 제1 웹 페이지로부터 제2 웹 페이지로의 리다이렉션이 발생하면, 클라이언트 단말은 제1 웹 페이지의 콘텐츠를 로딩해제하고 제2 웹 페이지의 콘텐츠를 로딩할 것이다. 클라이언트 단말이 제1 웹 페이지를 로딩해제하는 프로세스 동안, 제1 웹 페이지 상태에서 송신된 HTTP 요청이 송신 실패되거나 또는 완전히 송신되지 않은 경우, HTTP 요청은 취소될 가능성이 매우 높을 수 있고, 서버 단말은 HTTP 요청에서 운송된 모니터링 데이터를 수신할 수 없어서, 데이터 손실이 발생할 수 있다.
본 출원의 실시예에서, 현재의 웹 페이지가, 예를 들어, 제1 웹 페이지로부터 제2 웹 페이지로 리다이렉션될 필요가 있음을 검출한 경우, 클라이언트 단말은 요청들의 리스트가 비어있는지 여부를 결정하기 위해 웹 페이지 리다이렉션 전에 송신 실패된 요청들의 리스트를 체크한다.
요청들의 리스트가 비어있으면, 이는 제1 웹 페이지 상태에서 송신된 모든 HTTP 요청이 성공적으로 송신되었음을 나타내며, 데이터 손실 현상이 서버 단말 상에서 존재하지 않고 데이터를 재송신할 필요가 없으며, 제2 웹 페이지로의 리다이렉션이 곧바로 수행될 수 있다.
요청들의 리스트가 비어있지 않으면, 이는 요청들의 리스트에 포함된 HTTP 요청이 송신 실패되거나 또는 제1 웹 페이지 상태에서 완전히 송신되지 않을 수 있음을 나타내며, 서버는 HTTP 요청에서 운송된 모니터링 데이터를 수신하지 못할 수 있다. 데이터 손실을 방지하기 위해, 클라이언트 단말이 요청들의 리스트에 포함된 HTTP 요청의 정보를 제2 웹 페이지에 전송하여, 제2 웹 페이지로의 리다이렉션 후, 클라이언트 단말이 HTTP 요청의 정보에 따라 HTTP 요청을 재송신할 수 있게 할 수 있다.
본 출원의 실시예에서, 송신 실패된 요청들의 리스트는 송신 실패된 모든 HTTP 요청의 완전한 정보를 기록함으로써, HTTP 요청이 성공적으로 재송신되는 것을 보장한다 것을 유념해야 한다.
또한, 본 출원의 실시예에서, 클라이언트 단말에 의해, 송신 실패된 요청들의 리스트에 HTTP 요청의 정보를 기록하고, 상기 정보를 제2 웹 페이지에 전송하는 단계는, 클라이언트 단말에 의해, 송신 실패된 요청들의 리스트에 HTTP 요청의 정보를 기록하고, 제2 웹 페이지에 대응하는 창(window) 이름에 상기 정보를 기입하는 단계를 포함할 수 있다.
제1 웹 페이지로부터 제2 웹 페이지로의 리다이렉션이 동일한 창에서의 리다이렉션인 경우, 예를 들어, 사용자가 "새로운 탭 페이지 상에서 링크 열기"를 클릭하거나 또는 사용자가 제1 웹 페이지 상에서 계정과 패스워드를 제출한 후에 로그인 작업을 수행하는 작업인 경우, 제2 웹 페이지에 대응되는 창 이름은 제1 웹 페이지에 대응되는 창 이름, 즉, 클라이언트 단말이 현재 열고 있는 창의 이름과 동일하다. 이 경우, 송신 실패된 요청들의 리스트 내의 HTTP 요청의 정보만이 현재 열려 있는 창의 이름에 기입될 필요가 있다.
제1 웹 페이지로부터 제2 웹 페이지로의 리다이렉션이 상이한 창들 간의 리다이렉션인 경우, 예를 들어, 사용자가 "새로운 창에서 링크 열기"를 클릭하는 작업인 경우, 제2 웹 페이지에 대응되는 창 이름은 제1 웹 페이지에 대응되는 창 이름과는 상이하다. 이 경우, 클라이언트 단말은 리다이렉션 명령에 따라, 제2 웹 페이지에 대응하는 창 이름, 즉, 리다이렉션될 창의 이름을 획득하고, 송신 실패된 요청들의 리스트 내의 HTTP 요청의 정보를 리다이렉션될 창의 이름에 기입한다.
단계 S205: 제2 웹 페이지로의 리다이렉션 후, 클라이언트 단말은, 제1 웹 페이지로부터, 송신 실패된 요청들의 리스트 내의 HTTP 요청의 정보를 획득하고, HTTP 요청의 정보에 따라 HTTP 요청을 재송신한다.
본 출원의 실시예에서, 단계 S204에서, 송신 실패된 요청들의 리스트 내의 HTTP 요청의 정보는 제2 웹 페이지에 대응하는 창 이름에 기입되었다. 클라이언트 단말 상에서 웹 페이지 리다이렉션이 완료된 경우, 즉, 제2 웹 페이지로의 리다이렉션이 수행된 경우, 클라이언트 단말은, 제2 웹 페이지에 대응하는 창 이름으로부터, 송신 실패된 요청들의 리스트 내의, 제1 웹 페이지에 대응하는, HTTP 요청의 정보를 획득할 수 있다. HTTP 요청의 정보는 제1 웹 페이지 상에서 송신 실패된 모든 HTTP 요청의 정보, 즉, 서버가 제1 웹 페이지 상태에서 모니터링 데이터를 수신하지 못한 HTTP 요청의 정보이다. 클라이언트 단말은 HTTP 요청의 정보에 따라 제1 웹 페이지 상태에서 송신 실패된 HTTP 요청을 재송신함으로써, 서버 단말에 의해 수신된 데이터의 무결성을 보장하고 종래 기술의 문제점을 해결할 수 있다.
도 2에서 도시된 본 출원의 실시예에서, HTTP 요청은 송신 실패된 요청들의 리스트에 기록된다. 클라이언트 단말은, 서버에 의해 반송된 정상적인 응답 메시지를 수신할 때, 송신 실패된 요청들의 리스트로부터 HTTP 요청을 삭제하며; 그렇지 않고, 클라이언트 단말이 서버에 의해 반송된 비정상적인 응답 메시지를 수신하거나 또는 서버에 의해 반송된 응답 메시지를 수신하지 못한 경우, 클라이언트 단말은 송신 실패된 요청들의 리스트에 기록된 HTTP 요청을 유지하며; 현재 웹 페이지가 제1 웹 페이지로부터 제2 웹 페이지로 리다이렉션될 필요가 있음을 검출한 경우, 클라이언트 단말은 송신 실패된 요청들의 리스트가 비어있는지 여부를 판단함으로써 송신 실패된 HTTP 요청이 제 1 웹 페이지 상태에서 존재하는지 여부를 결정하며; 만약 송신 실패된 요청들의 리스트가 비어있지 않은 경우, 클라이언트 단말은, 송신 실패된 요청들의 리스트 내의 모든 HTTP 요청의 정보를 제2 웹 페이지에 전송하여, 클라이언트 단말이, 제2 웹 페이지에 전송된 HTTP 요청의 정보에 따라, 제1 웹 페이지 상태에서 송신 실패된 HTTP 요청을 재송신할 수 있도록 한다.
본 출원의 다른 실시예에서, HTTP 요청은 또한 HTTP 요청 캐시 풀(cache pool)에 기록될 수 있다. 클라이언트 단말은, 서버에 의해 반송된 정상적인 응답 메시지를 수신할 때, HTTP 요청 캐시 풀로부터 HTTP 요청을 삭제하며; 그렇지 않고, 클라이언트 단말이 서버에 의해 반송된 비정상적인 응답 메시지를 수신하거나 또는 서버에 의해 반송된 응답 메시지를 수신하지 못한 경우, 클라이언트 단말은 HTTP 요청 캐시 풀에 기록된 HTTP 요청을 유지하며; 현재 웹 페이지가 제1 웹 페이지로부터 제2 웹 페이지로 리다이렉션될 필요가 있음을 검출한 경우, 클라이언트 단말은 HTTP 요청 캐시 풀이 비어있는지 여부를 판단함으로써 송신 실패된 HTTP 요청이 제 1 웹 페이지 상태에서 존재하는지 여부를 결정하며; 만약 HTTP 요청 캐시 풀이 비어있지 않은 경우, 클라이언트 단말은, HTTP 요청 캐시 풀 내의 모든 HTTP 요청의 정보를 제2 웹 페이지에 전송하여, 클라이언트 단말이, 제2 웹 페이지에 전송된 HTTP 요청의 정보에 따라, 제1 웹 페이지 상태에서 송신 실패된 HTTP 요청을 재송신할 수 있도록 한다.
본 출원의 다른 실시예에서, HTTP 요청은 또한 HTTP 요청들의 리스트에 기록될 수 있고, HTTP 요청의 상태는 성공적인 송신이 실패된 것으로서 표시된다. 클라이언트 단말은, 서버에 의해 반송된 정상적인 응답 메시지를 수신할 때, HTTP 요청들의 리스트 내의 HTTP 요청의 상태를 성공적으로 송신된 것으로서 수정하며; 그렇지 않고, 클라이언트 단말이 서버에 의해 반송된 비정상적인 응답 메시지를 수신하거나 또는 서버에 의해 반송된 응답 메시지를 수신하지 못한 경우, 클라이언트 단말은 HTTP 요청들의 리스트 내의 HTTP 요청의 상태를 성공적인 송신이 실패된 것으로서 유지하며; 현재 웹 페이지가 제1 웹 페이지로부터 제2 웹 페이지로 리다이렉션될 필요가 있음을 검출한 경우, 클라이언트 단말은, 성공적인 송신이 실패된 것으로서 표시된 상태를 갖는 HTTP 요청이 HTTP 요청들의 리스트에 존재하는지 여부를 판단함으로써 송신 실패된 HTTP 요청이 제 1 웹 페이지 상태에서 존재하는지 여부를 결정하며; 만약 성공적인 송신이 실패된 것으로서 표시된 상태를 갖는 HTTP 요청이 존재하는 경우, 클라이언트 단말은, 성공적인 송신이 실패된 것으로서 표시된 상태를 갖는 HTTP 요청의 정보를 제2 웹 페이지에 전송하여, 클라이언트 단말이, 제2 웹 페이지에 전송된 HTTP 요청의 정보에 따라, 제1 웹 페이지 상태에서 송신 실패된 HTTP 요청을 재송신할 수 있도록 한다.
본 출원의 실시예에서, 클라이언트 단말은 서버 단말에 의해 반송된 정상적인 응답 정보를 수신할 때마다 송신 실패된 요청들의 리스트를 업데이트하고, 요청들의 리스트로부터, 정상적인 응답 정보에 대응하는 HTTP 요청을 삭제할 수 있다는 것을 유념해야 한다.
당연히, 실제 응용에서는, 서버 단말에 의해 반송된 정상적인 응답 정보를 수신할 때마다 클라이언트 단말이 요청들의 리스트를 업데이트하면, 클라이언트 단말은 너무 자주 작동될 것인데, 본 출원의 실시예에서는, 웹 페이지 리다이렉션을 수행하기로 결정할 때에, 클라이언트 단말은 요청 완료의 체크를 개시하고 요청들의 리스트를 균등하게 업데이트할 수 있다. 도 2에서 도시된 실시예를 고려하여, 웹 페이지 리다이렉션을 수행하기로 결정할 때에, 클라이언트 단말은, 현재의 웹 페이지 상태에서 송신된 모든 HTTP 요청들 중에서, 서버에 의해 반송된 정상적인 응답 정보가 수신된 특정 HTTP 요청을 판단하며, 정상적인 응답 정보가 수신된 이 HTTP 요청을, 송신 실패된 요청들의 리스트로부터 삭제한다.
본 출원의 방법 실시예에 대응하여, 본 출원은 디바이스 및 서버의 실시예를 더 제공한다.
본 출원에 따른 하이퍼텍스트 전송 프로토콜 요청을 재전송하는 디바이스의 실시예는 서버에서 적용될 수 있다. 디바이스 실시예는 소프트웨어, 하드웨어, 또는 이들의 조합에 의해 구현될 수 있다. 소프트웨어 구현을 예시로서 취하면, 재송신 디바이스는, 논리 디바이스로서, 재송신 디바이스가 제공된 장치의 프로세서가 비휘발성 메모리 내의 대응하는 컴퓨터 프로그램 명령어를 실행용 메모리 내로 판독하는 방식으로 형성된다. 하드웨어의 양태로부터, 도 3은 본 출원에 따라 하이퍼텍스트 전송 프로토콜 요청을 재송신하는 디바이스가 제공된 장치의 하드웨어 구조도이다. 도 3에서 도시된 프로세서, 메모리, 네트워크 인터페이스, 및 비휘발성 메모리 이외에, 본 실시예에서의 디바이스가 제공된 장치는 또한, 장치의 실제 기능에 따라 다른 하드웨어를 포함할 수 있는데, 예를 들어, 클라이언트 단말 장치인 경우, 장치는 카메라, 터치 스크린, 통신 컴포넌트 등을 포함할 수 있고; 서버의 경우에는, 장치는 패킷 등을 처리하는 것을 담당하는 포워딩 칩을 포함할 수 있다.
도 4는 본 출원의 실시예에 따른 하이퍼텍스트 전송 프로토콜 요청을 재송신하는 디바이스의 블록도이다. 디바이스는 서버에서 적용될 수 있다.
디바이스는, 제1 송신 유닛(400), 제1 기록 유닛(401), 획득 유닛(402), 전송 유닛(403), 및 제2 송신 유닛(404)을 포함할 수 있다.
제1 송신 유닛(400)은 하이퍼텍스트 전송 프로토콜(HTTP) 요청을 서버에 송신하도록 구성된다.
제1 기록 유닛(401)은 HTTP 요청의 정보를 기록하도록 구성된다.
획득 유닛(402)은, 제1 웹 페이지로부터 제2 웹 페이지로의 리다이렉션이 발생될 필요가 있는 경우, 송신 실패된 HTTP 요청이 제1 웹 페이지 상태에서 존재한다고 결정되면, 송신 실패된 HTTP 요청의 정보를 획득하도록 구성된다.
전송 유닛(403)은 송신 실패된 HTTP 요청의 정보를 제2 웹 페이지에 전송하도록 구성된다.
제2 송신 유닛(404)은 제2 웹 페이지로의 리다이렉션 후, 송신 실패된 HTTP 요청의 정보에 따라 송신 실패된 HTTP 요청을 재송신하도록 구성된다.
송신 실패된 HTTP 요청은 서버에 의해 반송된 성공적인 응답 정보가 수신되지 않은 HTTP 요청이다.
디바이스는 제2 기록 유닛을 더 포함할 수 있다.
제2 기록 유닛은 서버에 의해 반송된 정상적인 응답 정보가 수신되지 않은 모든 HTTP 요청들을 제1 웹 페이지 상태에서 기록하도록 구성된다.
제2 기록 유닛은 제1 요청 기록 서브유닛과 제1 삭제 서브유닛을 포함할 수 있다.
제1 요청 기록 서브유닛은, HTTP 요청이 송신될 때, 송신 실패된 요청들의 리스트에 HTTP 요청을 기록하도록 구성된다.
제1 삭제 서브유닛은, 서버에 의해 반송된 정상적인 응답 정보가 수신될 때 송신 실패된 요청들의 리스트로부터 HTTP 요청을 삭제하도록 구성된다.
제2 기록 유닛은 제2 요청 기록 서브유닛과 제2 삭제 서브유닛을 포함할 수 있다.
제2 요청 기록 서브유닛은, HTTP 요청이 송신될 때, HTTP 요청 캐시 풀에 HTTP 요청을 기록하도록 구성된다.
제2 삭제 서브유닛은, 서버에 의해 반송된 정상적인 응답 정보가 수신될 때 HTTP 요청 캐시 풀로부터 HTTP 요청을 삭제하도록 구성된다.
전송 유닛은 기입 서브유닛을 포함할 수 있다.
기입 서브유닛은, 송신 실패된 HTTP 요청의 정보를 제2 웹 페이지에 대응하는 창 이름에 기입하도록 구성된다.
디바이스 내의 각각의 유닛의 기능 및 효과의 구현을 위해, 방법 내의 대응하는 단계들의 구현이 참조될 수 있으며, 그 상세사항은 여기에서 반복되지 않을 것이다.
본 출원은, 프로세서, 및 상기 프로세서의 실행가능한 명령어들을 저장하도록 구성된 메모리를 포함하는 클라이언트 단말을 더 제공한다.
프로세서는, 하이퍼텍스트 전송 프로토콜(HTTP) 요청을 서버에 송신하고, 상기 HTTP 요청의 정보를 기록하고; 제1 웹 페이지로부터 제2 웹 페이지로의 리다이렉션이 발생될 필요가 있는 경우, 송신 실패된 HTTP 요청이 제1 웹 페이지 상태에서 존재한다고 결정되면, 송신 실패된 HTTP 요청의 정보를 획득하고; 송신 실패된 HTTP 요청의 정보를 제2 웹 페이지에 전송하며; 제2 웹 페이지로의 리다이렉션 후, 송신 실패된 HTTP 요청의 정보에 따라 송신 실패된 HTTP 요청을 재송신하도록 구성된다.
본 출원의 실시예에서, 서버에 HTTP 요청을 송신할 때, 클라이언트 단말은 HTTP 요청의 정보를 기록하고; 제1 웹 페이지로부터 제2 웹 페이지로의 리다이렉션이 발생될 필요가 있는 경우, 클라이언트 단말은 송신 실패된 HTTP 요청이 제1 웹 페이지 상태에서 존재하는지 여부를 결정하고; 만약 그러한 경우, 클라이언트 단말은 송신 실패된 모든 HTTP 요청들의 정보를 획득하고, 이 정보를 제2 웹 페이지에 전송하여, 제2 웹 페이지로의 리다이렉션 후에, 클라이언트 단말이, 제1 웹 페이지 상태에서 송신 실패된 HTTP 요청의 전송된 정보에 따라, 송신 실패된 HTTP 요청들을 재송신할 수 있도록 함으로써, 서버 단말 상에서의 데이터 손실을 회피하고 종래 기술의 문제점을 해결할 수 있다.
본 출원의 실시예에 따른 방법 및 디바이스는 브라우저, 또는 브라우저와 유사한 컨테이너, 예를 들어, 모바일 디바이스에서 일반적으로 사용되는 웹뷰(WebView) 컨테이너에 적용될 수 있다는 것을 유념해야 한다.
디바이스 실시예는 기본적으로 방법 실시예에 대응하므로, 관련 부분들에 대해서는, 방법 실시예에서의 부분들의 설명을 참조할 수 있다. 상술된 디바이스 실시예는 단지 예시에 불과하며, 분리된 부분들로서 기술된 유닛들은 물리적으로 분리될 수 있거나 그렇지 않을 수 있으며, 유닛으로서 디스플레이된 부분들은 물리적 유닛일 수 있거나 그렇지 않을 수 있으며, 이들은 동일한 장소에 위치할 수 있거나 또는 다중 네트워크 유닛들에 분산될 수 있다. 본 출원의 해결책의 목적은 실제의 요구에 따라 디바이스의 일부 또는 모든 모듈들을 선택함으로써 구현될 수 있다. 당업자는 창의적인 노력없이 본 출원을 이해하고 구현할 수 있다.
당업자는 본 명세서를 고려하고 본 명세서에서 개시된 발명을 실시한 후에는 본 출원의 다른 구현예들을 쉽게 얻을 수 있다. 본 출원은 본 출원의 임의의 변형, 용도, 또는 적응적 변경을 포함하도록 의도된 것이며, 이러한 변형, 용도, 또는 적응적 변경은 본 출원의 일반적인 원칙을 따르며, 본 출원에서는 개시되어 있지 않은, 본 기술 분야에서의 일반적인 지식 또는 종래 기술 수단을 포함한다. 명세서 및 실시예는 단지 예시적인 것으로서 간주되며, 본 출원의 진정한 범위 및 사상은 아래의 청구항들에 의해 정의된다.
본 출원은 위에서 설명되고 첨부 도면에서 도시된 정확한 구조물들로 한정되지 않고, 본 출원의 범위를 벗어나지 않고서 다양한 수정 및 변형을 가질 수 있다는 것을 이해해야 한다. 본 출원의 범위는 첨부된 청구항들에 의해서만 제한된다.

Claims (20)

  1. 컴퓨터 구현 방법에 있어서,
    제1 웹 페이지에 대해 수행된 하나 이상의 동작을 모니터링하는 단계;
    상기 하나 이상의 동작을 포함하는 복수의 하이퍼텍스트 전송 프로토콜(hypertext transfer protocol; HTTP) 요청들을 서버에 송신하는 단계;
    상기 복수의 HTTP 요청들 각각에 대해, 각각의 서버 확인(confirmation)의 유효성(availability)에 기초하여 각각의 HTTP 요청이 성공적으로 송신되었는지 여부를 결정하는 단계;
    상기 복수의 HTTP 요청들 중 제1 HTTP 요청이 성공적으로 송신되었다고 결정하는 것에 응답하여, 상기 복수의 HTTP 요청들 중 상기 제1 HTTP 요청과 연관된 정보를 기록(recording)하는 단계;
    상기 복수의 HTTP 요청들 중 제2 HTTP 요청이 송신 실패되었다고 결정하는 것에 응답하여, 상기 제2 HTTP 요청을 송신 실패된 HTTP 요청들의 리스트에 기록하고, 송신 실패된 HTTP 요청들 각각을 재송신하고, 상기 재송신된 HTTP 요청들 각각이 성공적으로 송신되었는지 여부를 결정하는 단계;
    재송신된 HTTP 요청이 성공적으로 송신되었다고 결정하는 것에 응답하여, 상기 리스트에 기록되어 있던 상기 재송신된 HTTP 요청을 삭제하는 단계; 및
    상기 송신 실패된 HTTP 요청들의 리스트가 비어있다고 결정하는 것에 응답하여, 상기 제1 웹 페이지로부터 제2 웹 페이지로 리다이렉팅(redirecting)하는 단계
    를 포함하는 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 송신 실패된 제2 HTTP 요청은 상기 서버로부터 응답을 수신하지 못한 것에 기초하여 결정된 것인 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    상기 송신 실패된 제2 HTTP 요청은 상기 서버로부터 비정상적인 응답을 수신한 것에 기초하여 결정된 것인 컴퓨터 구현 방법.
  4. 제1항에 있어서,
    상기 송신 실패된 HTTP 요청들의 리스트는 캐시 풀(cache pool)에 저장된 것인 컴퓨터 구현 방법.
  5. 제1항에 있어서,
    상기 리스트가 비어있지 않은 경우 상기 리스트에 남아있는 HTTP 요청들의 정보를 기록하는 것은 상기 리스트에 남아있는 HTTP 요청들의 정보를 상기 제2 웹 페이지의 창 이름(window name)에 기입(writing)하는 것을 포함한 것인 컴퓨터 구현 방법.
  6. 제1항에 있어서,
    상기 리스트가 비어있지 않은 경우,
    상기 리스트에 남아있는 HTTP 요청들의 정보를 기록하는 단계;
    상기 리스트에 남아있는 HTTP 요청들의 기록된 정보를 상기 제2 웹 페이지에 전송하는 단계; 및
    상기 기록된 정보에 기초하여 상기 리스트에 남아있는 HTTP 요청들을 상기 서버에 재송신하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  7. 제1항에 있어서,
    상기 리스트가 비어있는 경우,
    상기 제2 웹 페이지로 리다이렉팅된 후, 상기 제1 웹 페이지로부터, 상기 리스트 내의 HTTP 요청들의 정보를 획득하는 단계; 및
    상기 획득된 정보에 기초하여 상기 HTTP 요청들을 재송신하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  8. 동작들을 수행하도록 컴퓨터 시스템에 의해 실행가능한 하나 이상의 명령어를 저장한 컴퓨터 판독가능 비일시적 매체에 있어서,
    상기 동작들은,
    제1 웹 페이지에 대해 수행된 하나 이상의 동작을 모니터링하는 동작;
    상기 하나 이상의 동작을 포함하는 복수의 하이퍼텍스트 전송 프로토콜(hypertext transfer protocol; HTTP) 요청들을 서버에 송신하는 동작;
    상기 복수의 HTTP 요청들 각각에 대해, 각각의 서버 확인의 유효성(availability)에 기초하여 각각의 HTTP 요청이 성공적으로 송신되었는지 여부를 결정하는 동작;
    상기 복수의 HTTP 요청들 중 제1 HTTP 요청이 성공적으로 송신되었다고 결정하는 것에 응답하여, 상기 복수의 HTTP 요청들 중 상기 제1 HTTP 요청과 연관된 정보를 기록(recording)하는 동작;
    상기 복수의 HTTP 요청들 중 제2 HTTP 요청이 송신 실패되었다고 결정하는 것에 응답하여, 상기 제2 HTTP 요청을 송신 실패된 HTTP 요청들의 리스트에 기록하고, 송신 실패된 HTTP 요청들 각각을 재송신하고, 상기 재송신된 HTTP 요청들 각각이 성공적으로 송신되었는지 여부를 결정하는 동작;
    재송신된 HTTP 요청이 성공적으로 송신되었다고 결정하는 것에 응답하여, 상기 리스트에 기록되어 있던 상기 재송신된 HTTP 요청을 삭제하는 동작; 및
    상기 송신 실패된 HTTP 요청들의 리스트가 비어있다고 결정하는 것에 응답하여, 상기 제1 웹 페이지로부터 제2 웹 페이지로 리다이렉팅(redirecting)하는 동작
    을 포함한 것인 컴퓨터 판독가능 비일시적 매체.
  9. 제8항에 있어서,
    상기 송신 실패된 제2 HTTP 요청은 상기 서버로부터 응답을 수신하지 못한 것에 기초하여 결정된 것인 컴퓨터 판독가능 비일시적 매체.
  10. 제8항에 있어서,
    상기 송신 실패된 제2 HTTP 요청은 상기 서버로부터 비정상적인 응답을 수신한 것에 기초하여 결정된 것인 컴퓨터 판독가능 비일시적 매체.
  11. 제8항에 있어서,
    상기 송신 실패된 HTTP 요청들의 리스트는 캐시 풀에 저장된 것인 컴퓨터 판독가능 비일시적 매체.
  12. 제8항에 있어서,
    상기 리스트가 비어있지 않은 경우 상기 리스트에 남아있는 HTTP 요청들의 정보를 기록하는 것은 상기 리스트에 남아있는 HTTP 요청들의 정보를 상기 제2 웹 페이지의 창 이름에 기입하는 것을 포함한 것인 컴퓨터 판독가능 비일시적 매체.
  13. 제8항에 있어서,
    상기 동작들은,
    상기 리스트가 비어있지 않은 경우,
    상기 리스트에 남아있는 HTTP 요청들의 정보를 기록하는 동작;
    상기 리스트에 남아있는 HTTP 요청들의 기록된 정보를 상기 제2 웹 페이지에 전송하는 동작; 및
    상기 기록된 정보에 기초하여 상기 리스트에 남아있는 HTTP 요청들을 상기 서버에 재송신하는 동작
    을 더 포함한 것인 컴퓨터 판독가능 비일시적 매체.
  14. 제8항에 있어서,
    상기 동작들은,
    상기 리스트가 비어있는 경우,
    상기 제2 웹 페이지로 리다이렉팅된 후, 상기 제1 웹 페이지로부터, 상기 리스트 내의 HTTP 요청들의 정보를 획득하는 동작; 및
    상기 획득된 정보에 기초하여 상기 HTTP 요청들을 재송신하는 동작
    을 더 포함한 것인 컴퓨터 판독가능 비일시적 매체.
  15. 컴퓨터 구현 시스템에 있어서,
    하나 이상의 컴퓨터; 및
    상기 하나 이상의 컴퓨터와 상호동작가능하게 결합되고, 하나 이상의 명령어를 저장하는 유형적인 머신 판독가능 비일시적 매체를 갖는 하나 이상의 컴퓨터 메모리 디바이스
    를 포함하고,
    상기 하나 이상의 명령어는, 상기 하나 이상의 컴퓨터에 의해 실행될 때, 동작들을 수행하고,
    상기 동작들은,
    제1 웹 페이지에 대해 수행된 하나 이상의 동작을 모니터링하는 동작;
    상기 하나 이상의 동작을 포함하는 복수의 하이퍼텍스트 전송 프로토콜(hypertext transfer protocol; HTTP) 요청들을 서버에 송신하는 동작;
    상기 복수의 HTTP 요청들 각각에 대해, 각각의 서버 확인의 유효성(availability)에 기초하여 각각의 HTTP 요청이 성공적으로 송신되었는지 여부를 결정하는 동작;
    상기 복수의 HTTP 요청들 중 제1 HTTP 요청이 성공적으로 송신되었다고 결정하는 것에 응답하여, 상기 복수의 HTTP 요청들 중 상기 제1 HTTP 요청과 연관된 정보를 기록(recording)하는 동작;
    상기 복수의 HTTP 요청들 중 제2 HTTP 요청이 송신 실패되었다고 결정하는 것에 응답하여, 상기 제2 HTTP 요청을 송신 실패된 HTTP 요청들의 리스트에 기록하고, 송신 실패된 HTTP 요청들 각각을 재송신하고, 상기 재송신된 HTTP 요청들 각각이 성공적으로 송신되었는지 여부를 결정하는 동작;
    재송신된 HTTP 요청이 성공적으로 송신되었다고 결정하는 것에 응답하여, 상기 리스트에 기록되어 있던 상기 재송신된 HTTP 요청을 삭제하는 동작; 및
    상기 송신 실패된 HTTP 요청들의 리스트가 비어있다고 결정하는 것에 응답하여, 상기 제1 웹 페이지로부터 제2 웹 페이지로 리다이렉팅(redirecting)하는 동작
    을 포함한 것인 컴퓨터 구현 시스템.
  16. 제15항에 있어서,
    상기 송신 실패된 제2 HTTP 요청은 상기 서버로부터 응답을 수신하지 못한 것에 기초하여 결정된 것인 컴퓨터 구현 시스템.
  17. 제15항에 있어서,
    상기 송신 실패된 제2 HTTP 요청은 상기 서버로부터 비정상적인 응답을 수신한 것에 기초하여 결정된 것인 컴퓨터 구현 시스템.
  18. 제15항에 있어서,
    상기 송신 실패된 HTTP 요청들의 리스트는 캐시 풀에 저장된 것인 컴퓨터 구현 시스템.
  19. 제15항에 있어서,
    상기 리스트가 비어있지 않은 경우 상기 리스트에 남아있는 HTTP 요청들의 정보를 기록하는 것은 상기 리스트에 남아있는 HTTP 요청들의 정보를 상기 제2 웹 페이지의 창 이름에 기입하는 것을 포함한 것인 컴퓨터 구현 시스템.
  20. 제15항에 있어서,
    상기 동작들은,
    상기 리스트가 비어있지 않은 경우,
    상기 리스트에 남아있는 HTTP 요청들의 정보를 기록하는 동작;
    상기 리스트에 남아있는 HTTP 요청들의 기록된 정보를 상기 제2 웹 페이지에 전송하는 동작; 및
    상기 기록된 정보에 기초하여 상기 리스트에 남아있는 HTTP 요청들을 상기 서버에 재송신하는 동작
    을 더 포함한 것인 컴퓨터 구현 시스템.
KR1020187001002A 2015-06-16 2016-06-08 하이퍼텍스트 전송 프로토콜 요청을 재송신하는 방법과 디바이스, 및 클라이언트 단말 KR102113409B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201510335208.3 2015-06-16
CN201510335208.3A CN106330988B (zh) 2015-06-16 2015-06-16 一种超文本传输请求的补发方法、装置及客户端
PCT/CN2016/085215 WO2016202206A1 (zh) 2015-06-16 2016-06-08 一种超文本传输请求的补发方法、装置及客户端

Publications (2)

Publication Number Publication Date
KR20180019162A KR20180019162A (ko) 2018-02-23
KR102113409B1 true KR102113409B1 (ko) 2020-05-21

Family

ID=57544937

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187001002A KR102113409B1 (ko) 2015-06-16 2016-06-08 하이퍼텍스트 전송 프로토콜 요청을 재송신하는 방법과 디바이스, 및 클라이언트 단말

Country Status (9)

Country Link
US (3) US10530834B2 (ko)
EP (1) EP3313022B1 (ko)
JP (1) JP6745821B2 (ko)
KR (1) KR102113409B1 (ko)
CN (1) CN106330988B (ko)
ES (1) ES2803204T3 (ko)
PL (1) PL3313022T3 (ko)
SG (1) SG11201710344SA (ko)
WO (1) WO2016202206A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330988B (zh) 2015-06-16 2020-01-03 阿里巴巴集团控股有限公司 一种超文本传输请求的补发方法、装置及客户端
CN111367948B (zh) * 2020-03-12 2022-04-26 北京字节跳动网络技术有限公司 数据处理方法、装置、电子设备及计算机可读存储介质
CN112579933B (zh) * 2020-12-24 2023-12-08 中国农业银行股份有限公司 一种信息处理方法及装置
CN113489572B (zh) * 2021-08-23 2022-12-20 杭州安恒信息技术股份有限公司 一种请求发送方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080209030A1 (en) 2007-02-28 2008-08-28 Microsoft Corporation Mining Web Logs to Debug Wide-Area Connectivity Problems
WO2008112877A1 (en) 2007-03-14 2008-09-18 Hand Held Products, Inc. Apparatus and method for data input device
US20090106433A1 (en) 2001-02-26 2009-04-23 Oracle International Corporation Access system interface

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6055441A (en) * 1996-04-30 2000-04-25 International Business Machines Corporation Systems and methods for facsimile communication over a cellular radiotelephone communications link
US6574661B1 (en) * 1997-09-26 2003-06-03 Mci Communications Corporation Integrated proxy interface for web based telecommunication toll-free network management using a network manager for downloading a call routing tree to client
US7373376B1 (en) * 1999-12-30 2008-05-13 Keynote Systems, Inc. Method and system for evaluating quality of service over the internet
JP2001249841A (ja) * 2000-03-07 2001-09-14 Hitachi Ltd プロキシサーバを用いた自動再リクエスト方法
US7080077B2 (en) * 2000-07-10 2006-07-18 Oracle International Corporation Localized access
NO313399B1 (no) * 2000-09-14 2002-09-23 Fast Search & Transfer Asa Fremgangsmate til soking og analyse av informasjon i datanettverk
US7099939B2 (en) * 2000-10-03 2006-08-29 Sun Microsystems Inc. HTTP transaction monitor with sequence replay capacity
US7392321B1 (en) * 2001-05-30 2008-06-24 Keynote Systems, Inc. Method and system for evaluating quality of service for transactions over a network
US7017162B2 (en) * 2001-07-10 2006-03-21 Microsoft Corporation Application program interface for network software platform
AU2001286697A1 (en) * 2001-07-16 2003-03-03 America Online Incorporated Method and apparatus for calendaring reminders
JP4156852B2 (ja) * 2002-03-25 2008-09-24 富士通株式会社 ウェブサーバ管理方法、プログラム及び記録媒体
CN101079768B (zh) * 2006-05-25 2010-11-03 阿里巴巴集团控股有限公司 一种统计网页链接点击数据的方法
CN101075908B (zh) * 2006-11-08 2011-04-20 腾讯科技(深圳)有限公司 一种网络点击统计系统及方法
JP2008140203A (ja) * 2006-12-04 2008-06-19 Hitachi Software Eng Co Ltd セッション管理システム
JP2009021649A (ja) * 2007-07-10 2009-01-29 Pioneer Electronic Corp 情報処理装置及び方法、並びにコンピュータプログラム
CN101388768B (zh) * 2008-10-21 2011-03-23 北京启明星辰信息技术股份有限公司 检测恶意http请求的方法及装置
US8868707B2 (en) * 2009-06-16 2014-10-21 Oracle International Corporation Adaptive write-back and write-through caching for off-line data
US8856869B1 (en) * 2009-06-22 2014-10-07 NexWavSec Software Inc. Enforcement of same origin policy for sensitive data
US8291258B2 (en) * 2010-01-08 2012-10-16 Juniper Networks, Inc. High availability for network security devices
JP5255006B2 (ja) * 2010-02-19 2013-08-07 ヤフー株式会社 Webシステム、方法及びプログラム
US9912718B1 (en) * 2011-04-11 2018-03-06 Viasat, Inc. Progressive prefetching
CN102355449B (zh) * 2011-06-30 2014-09-17 深信服网络科技(深圳)有限公司 一种隐蔽发送重定向请求的方法、网关和系统
US8448233B2 (en) * 2011-08-25 2013-05-21 Imperva, Inc. Dealing with web attacks using cryptographically signed HTTP cookies
US20130080603A1 (en) * 2011-09-27 2013-03-28 Microsoft Corporation Fault Tolerant External Application Server
US9342615B2 (en) * 2011-12-07 2016-05-17 Google Inc. Reducing redirects
US9882956B1 (en) * 2013-03-11 2018-01-30 Amazon Technologies, Inc. Network-backed mass storage device
US9954860B2 (en) * 2013-03-15 2018-04-24 Entrust, Inc. Online secure transaction verification system proxy server and method
US9414248B2 (en) * 2013-03-15 2016-08-09 Movik Networks, Inc. System and methods for estimation and improvement of user, service and network QOE metrics
US9948610B2 (en) * 2014-08-29 2018-04-17 Citrix Systems, Inc. Method and apparatus for accessing third-party resources
US9769239B2 (en) * 2014-09-30 2017-09-19 Qualcomm Incorporated Systems and methods for user agent signaling request acceleration by transport accelerator
CN106330988B (zh) 2015-06-16 2020-01-03 阿里巴巴集团控股有限公司 一种超文本传输请求的补发方法、装置及客户端
US10691470B2 (en) * 2015-06-18 2020-06-23 Kenneth Mark Woog Personal computer system with remotely-configured hardware-enforced usage limits
JP6677496B2 (ja) * 2015-12-08 2020-04-08 キヤノン株式会社 認証連携システム及び認証連携方法、認可サーバー、アプリケーションサーバー及びプログラム
US10348701B2 (en) * 2017-03-02 2019-07-09 Citrix Systems, Inc. Protecting clients from open redirect security vulnerabilities in web applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090106433A1 (en) 2001-02-26 2009-04-23 Oracle International Corporation Access system interface
US8935418B2 (en) 2001-02-26 2015-01-13 Oracle International Corporation Access system interface
US20080209030A1 (en) 2007-02-28 2008-08-28 Microsoft Corporation Mining Web Logs to Debug Wide-Area Connectivity Problems
WO2008112877A1 (en) 2007-03-14 2008-09-18 Hand Held Products, Inc. Apparatus and method for data input device

Also Published As

Publication number Publication date
EP3313022A4 (en) 2018-12-05
PL3313022T3 (pl) 2020-10-19
WO2016202206A1 (zh) 2016-12-22
JP2018517992A (ja) 2018-07-05
ES2803204T3 (es) 2021-01-25
JP6745821B2 (ja) 2020-08-26
KR20180019162A (ko) 2018-02-23
US20200304556A1 (en) 2020-09-24
US20180109588A1 (en) 2018-04-19
EP3313022A1 (en) 2018-04-25
SG11201710344SA (en) 2018-01-30
CN106330988A (zh) 2017-01-11
US20200145476A1 (en) 2020-05-07
US10693942B2 (en) 2020-06-23
US10530834B2 (en) 2020-01-07
CN106330988B (zh) 2020-01-03
EP3313022B1 (en) 2020-04-01
US10862949B2 (en) 2020-12-08

Similar Documents

Publication Publication Date Title
US10474514B2 (en) Method for flow control and for reliable communication in a collaborative environment
KR102113409B1 (ko) 하이퍼텍스트 전송 프로토콜 요청을 재송신하는 방법과 디바이스, 및 클라이언트 단말
US11729129B2 (en) Message quests for rapid re-hosting of client devices
EP3179701B1 (en) File upload and download methods and associated server
EP3479546B1 (en) Data management microservice in a microservice domain
US9026902B2 (en) Handling unexpected responses to script executing in client-side application
JP2010508581A (ja) ウェブベースアプリケーションのオフライン実行
US9654436B2 (en) Systems and methods for migrating mailbox data from systems with limited or restricted remote access
US9736040B2 (en) Monitoring SMS messages related to server/customer interactions
CN113709247A (zh) 资源获取方法、装置、系统、电子设备及存储介质
US20120124430A1 (en) Mechanism to Prevent Escaped Associations in Multi-Association RPC Based Protocols
US8806056B1 (en) Method for optimizing remote file saves in a failsafe way
US11645033B2 (en) Method and apparatus for accessing proprietary resources on a Co-Browse session
CN108021593B (zh) 一种信息传递方法、装置及浏览器
EP2677715A1 (en) A method and a server for evaluating a request for access to content from a server in a computer network
CN109688085B (zh) 传输控制协议代理方法、存储介质及服务器
JP6182779B1 (ja) 転送装置、転送方法およびプログラム
JP6207710B1 (ja) 転送制御装置、転送制御方法およびプログラム
JP6313897B1 (ja) 通信制御装置、通信制御方法およびプログラム
KR101460183B1 (ko) 신뢰성 있는 메시지 서비스 시스템 및 방법
JP4962166B2 (ja) サーバ、端末、サーバプログラム、端末プログラム、システムおよびサーバ制御方法
JP5525022B2 (ja) 端末、サーバ、データ転送システム、およびコンピュータプログラム
JP2010220263A (ja) ネットワークのセキュリティ保護装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant