KR20140073243A - Http 메시지 처리 방법 및 장치 - Google Patents

Http 메시지 처리 방법 및 장치 Download PDF

Info

Publication number
KR20140073243A
KR20140073243A KR1020120141260A KR20120141260A KR20140073243A KR 20140073243 A KR20140073243 A KR 20140073243A KR 1020120141260 A KR1020120141260 A KR 1020120141260A KR 20120141260 A KR20120141260 A KR 20120141260A KR 20140073243 A KR20140073243 A KR 20140073243A
Authority
KR
South Korea
Prior art keywords
url
message
network
response
input
Prior art date
Application number
KR1020120141260A
Other languages
English (en)
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 삼성전자주식회사
Priority to KR1020120141260A priority Critical patent/KR20140073243A/ko
Priority to US14/063,484 priority patent/US9288255B2/en
Publication of KR20140073243A publication Critical patent/KR20140073243A/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/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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/30Types of network names
    • H04L2101/35Types of network names containing special prefixes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/69Types of network addresses using geographic information, e.g. room number

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 HTTP(HyperText Transfer Protocol) 메시지 처리 방법 및 장치에 관한 것으로 특히, 웹 서버로부터 사용자가 원하는 정보를 빨리 내려 받아 사용자에게 제공할 수 있도록 한 HTTP 메시지 처리 방법 및 장치에 관한 것이다. 본 발명에 따른 HTTP 메시지 처리 방법은 URL의 입력을 검출하는 단계; 상기 입력 URL에 대응되는 하나 이상의 예측 URL이 재지정 히스토리 DB에 존재하는 경우, 상기 입력 URL 및 상기 하나 이상의 예측 URL을 각각 포함하는 제 1 요청 메시지들을 네트워크로 전송하는 단계; 상기 제 1 요청 메시지들에 대응되는 제 1 응답 메시지들을 상기 네트워크로부터 수신하는 단계; 상기 제 1 응답 메시지들 중 성공 메시지가 유효한지 여부를 결정하는 단계; 및 상기 성공 메시지가 유효한 경우 상기 성공 메시지의 데이터를 사용자에게 제공할 자원으로 결정하는 단계를 포함한다.

Description

HTTP 메시지 처리 방법 및 장치{APPARATUS AND METHOD FOR PROCESSING HTTP MASSAGE}
본 발명은 HTTP(HyperText Transfer Protocol) 메시지 처리 방법 및 장치에 관한 것으로 특히, 웹 서버로부터 사용자가 원하는 정보를 빨리 내려 받아 사용자에게 제공할 수 있도록 한 HTTP 메시지 처리 방법 및 장치에 관한 것이다.
HTTP는 월드 와이드 웹을 통해 정보를 주고받을 수 있는 프로토콜이다. 주로 HTML 메시지(문서)를 주고받는 데에 쓰인다. 현재 버전 1.1이 널리 쓰이고 있다. HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜이다. 예를 들면, 클라이언트인 브라우저가 HTTP를 통하여 서버로부터 웹 페이지나 그림 정보를 요청하면, 서버는 이 요청에 응답하여 필요한 정보를 브라우저의 해당 사용자에게 전달하게 된다. 이 정보가 모니터와 같은 출력장치를 통해 사용자에게 제공된다. HTTP를 통해 사용자에게 전달되는 데이터는 "http:"로 시작하는 URL(인터넷 주소)로 조회 가능하다.
사용자는 브라우저의 URL 바(bar)에 URL을 입력하여 원하는 웹 사이트에 방문할 수 있다. 이때 사용자는 복잡하거나 긴 웹 사이트의 실제 주소보다 대부분 잘 알려지고 단순한 주소를 브라우저에 입력한다. 이는 사용자가 입력한 주소가 웹사이트의 실제 주소로 재지정(redirect)되기 때문에 가능하다.
도 1은 종래 재지정 절차의 일례를 설명하기 위한 흐름도이다. 도 1의 설명에 앞서 HTTP 메시지를 간략히 설명한다. HTTP의 버전 1.1에 따르면, "GET 요청 메시지"는 클라이언트가 서버에게 "URL에 해당하는 데이터의 전송"을 요청하는 메시지이다. 클라이언트가 서버에 접속하여 어떠한 요청을 하면, 서버는 세자리 수로 된 상태 코드(Status code)를 포함하는 응답 메시지를 클라이언트로 전송한다. 3으로 시작하는 상태 코드 "3XX"는 데이터의 위치가 바뀌었음을 뜻하는 재지정 메시지이다. 예컨대, 상태 코드가 '301'이라는 것은 "요구한 데이터가 변경된 URL에 있다"라는 의미이다. 즉 '301'을 포함하는 응답 메시지는 위치(Location) 정보(변경된 URL)를 포함하는 재지정(redirect) 메시지이다. 상태 코드가 '302'인 응답 메시지도 재지정 메시지인데, 301과 다른 점은 변경된 URL이 임시 저장소라는 것이다. 즉 URL이 서버 등에 의해 언제든지 변경될 수 있다는 의미이다. HTTP에서 상태 코드가 '302'인 응답 메시지는 "Moved Temporarily" 또는 "Found"라 한다. 2로 시작하는 상태 코드 "2XX"는 데이터의 전송이 성공적으로 이루어졌거나 사용자의 요청이 이해되었거나 또는 사용자의 요청이 수락되었음을 뜻하는 성공(Success) 메시지이다. 예컨대, 상태 코드가 '200'이라는 것은 '오류 없이 전송 성공'의 의미이다. 즉 이 응답 메시지에 사용자가 원하는 데이터가 포함되어 클라이언트로 전송된다.
도 1을 참조하면, 사용자는 모바일 브라우저의 URL 바에 "naver.com"을 입력한 후 접속 버튼(예, 엔터(enter) 버튼)을 선택한다. 그러면 단계 210에서 해당 휴대 단말은 사용자가 입력한 URL 즉, "naver.com"을 포함하는 제 1 GET 요청 메시지를 네트워크로 전송한다. 단계 220에서 휴대 단말은 상태 코드 '301' 및 위치 정보 'www.naver.com'을 포함하는 제 1 재지정 메시지를 수신한다. 다음으로 단계130에서 휴대 단말은 제 1 재지정 메시지에 포함된 위치 정보 'www.naver.com'를 추출하고, 이를 포함하는 제 2 GET 요청 메시지를 네트워크로 전송한다. 네트워크의 서버는 휴대 단말로부터 제 2 GET 요청 메시지를 수신하고, 제 2 GET 요청 메시지를 분석(parsing)하고, 분석 결과 해당 클라이언트가 모바일 브라우저를 통해 메시지를 전송한 단말임을 인식한 경우, 제 2 재지정 메시지를 클라이언트로 전송한다. 이에 따라 단계 240에서 휴대 단말은 상태 코드 '302' 및 위치 정보 'm.naver.com'을 포함하는 제 2 재지정 메시지를 수신한다. 다음으로 단계 250에서 휴대 단말은 제 2 재지정 메시지에 포함된 위치 정보 'm.naver.com'를 추출하고, 이를 포함하는 제 3 GET 요청 메시지를 네트워크로 전송한다. 다음으로 단계 260에서 휴대 단말은 상태 코드 '200' 및 데이터를 포함하는 성공 메시지를 수신한다. 다음으로 휴대 단말은 성공 메시지에서 데이터(예, 웹페이지, 스트리밍(streaming) 오디오 데이터, 스트리밍 비디오 데이터 등)를 추출하고, 이를 사용자에게 출력장치를 통해 제공한다.
이상으로 종래 재지정 절차에 따르면, GET 요청 메시지 및 재지정 메시지를 주고받는 과정이 반복적으로 수행됨에 따라 사용자가 원하는 데이터를 다운로드하기 위한 '데이터 로딩 시간(data loading time)'이 오래 걸리는 문제점이 있다. 나아가 사용자가 모바일 브라우저의 URL 바에 "naver.com"을 다시 입력할 경우, 상기의 절차가 또 다시 수행되는 문제점이 있다.
본 발명은 전술한 문제점을 해결하기 위해 안출된 것으로서, 요청된 URL에 대응되는 실제 URL을 예측하여 사용자가 원하는 데이터를 빠르게 제공할 수 있도록 한 HTTP 메시지 처리 방법 및 장치를 제공함을 목적으로 한다.
본 발명에 따른 HTTP 메시지 처리 방법은 URL의 입력을 검출하는 단계; 상기 입력 URL에 대응되는 하나 이상의 예측 URL이 재지정 히스토리 DB에 존재하는 경우, 상기 입력 URL 및 상기 하나 이상의 예측 URL을 각각 포함하는 제 1 요청 메시지들을 네트워크로 전송하는 단계; 상기 제 1 요청 메시지들에 대응되는 제 1 응답 메시지들을 상기 네트워크로부터 수신하는 단계; 상기 제 1 응답 메시지들 중 성공 메시지가 유효한지 여부를 결정하는 단계; 및 상기 성공 메시지가 유효한 경우 상기 성공 메시지의 데이터를 사용자에게 제공할 자원으로 결정하는 단계를 포함한다.
본 발명에 따른 HTTP 메시지 처리 장치는 URL을 입력하기 위한 입력부; 상기 입력 URL에 대응되는 하나 이상의 예측 URL을 포함하는 재지정 히스토리 DB를 저장하는 저장부; 상기 입력 URL 및 상기 하나 이상의 예측 URL을 각각 포함하는 제 1 요청 메시지들을 상기 네트워크로 전송하고, 상기 제 1 요청 메시지들에 대응되는 제 1 응답 메시지들을 상기 네트워크로부터 수신하는 무선통신부; 및 상기 제 1 응답 메시지들 중 성공 메시지가 유효한지 여부를 결정하고, 상기 성공 메시지가 유효한 경우 상기 성공 메시지의 데이터를 사용자에게 제공할 자원으로 결정하는 제어부를 포함한다.
이상으로 본 발명에 따른 HTTP 메시지 처리 방법 및 장치에 따르면 본 발명은 사용자나 장치가 요청한 URL에 대응되는 실제 URL을 예측하여 사용자가 원하는 데이터를 빠르게 제공할 수 있다.
도 1은 종래 재지정 절차의 일례를 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 HTTP 메시지 처리 장치의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 재지정 히스토리 관리 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 URL 예측 및 평가 방법을 설명하기 위한 흐름도이다.
도 5 및 도 6은 본 발명에 따른 데이터 로딩 시간의 단축 효과를 설명하기 위한 도면들이다.
본 발명에 따른 HTTP 메시지 처리 방법 및 장치는 네트워크에 접속 가능하고 HTTP 메시지의 처리가 가능한 브라우저를 구비한 각종 전자기기에 적용될 수 있다. 여기서 전자기기는 PC, 노트북 등의 컴퓨터 장치와, 스마트폰, 휴대전화, PMP, 태블릿 PC, 네비게이터, 휴대용 게임기와 같은 휴대 단말과, AV(Audio/Video) 기기, TV, 스마트 허브 장치, 파일 서버 등과 같은 가전기기 등이 될 수 있다.
본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다. 또한 이하에서 사용되는 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다. 따라서 아래 설명과 첨부된 도면은 본 발명의 바람직한 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원 시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다. 이하 설명에서 입력 장치로써 터치스크린을 예로 들어 설명하였으나 입력 장치는 마우스, 조이스틱 등 다양하다.
도 2는 본 발명의 일 실시예에 따른 HTTP 메시지 처리 장치의 구성도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 HTTP 메시지 처리 장치(200)는 표시부(210), 키입력부(220), 저장부(230), 무선통신부(240), 오디오 처리부(250), 스피커(SPK), 마이크(MIC) 및 제어부(260)를 포함하여 이루어진다.
표시부(210)는 제어부(260)의 제어 하에, 제어부(260)로부터 입력받은 영상 데이터를 아날로그 신호로 변환하여 표시한다. 즉, 표시부(210)는 장치(200)의 이용에 따른 다양한 화면 예를 들면, 잠금 화면, 홈 화면, 어플리케이션(줄여서 '앱(App)') 실행 화면, 키패드 등을 표시할 수 있다. 잠금 화면은 표시부(210)가 켜지면, 표시부(210)에 표시되는 영상으로 정의될 수 있다. 잠금 해제를 위한 사용자 제스처가 검출되면 제어부(260)는 표시되는 영상을 잠금 화면에서 홈 화면 또는 앱 실행 화면 등으로 전환(changing)할 수 있다. 홈 화면은 다수의 앱에 각각 대응되는 다수의 아이콘을 포함하는 영상으로 정의될 수 있다. 다수의 앱 아이콘 중 하나가 사용자에 의해 선택(예, 아이콘을 탭)된 경우, 제어부(260)는 해당 앱(예, 브라우저)을 실행하고, 그 실행 화면을 표시부(210)에 표시할 수 있다. 표시부(210)은 제어부(260)의 제어 하에, 상기 화면들 중에서 하나 예컨대, 앱 실행 화면을 배경(background)으로 표시하고 다른 하나 예컨대, 키패드를 전경(foreground)으로써 상기 배경에 오버랩하여 표시할 수 있다. 표시부(210)는 액정 표시 장치(Liquid Crystal Display : LCD), OLED(Organic Light Emitted Diode), AMOLED(Active Matrix Organic Light Emitted Diode) 또는 플랙서블 디스플레이(Flexible display)로 구성될 수 있다.
표시부(210)는 사용자와의 상호 작용을 위한 사용자 인터페이스를 제공하기 위하여, 터치스크린(211)을 포함할 수 있다. 터치스크린(211)은 표시부(210)에 안착(place on the display unit)될 수 있다. 터치스크린(211)은 터치스크린(211)에 대한 사용자의 제스처에 응답하여 아날로그 신호(예, 터치이벤트)를 발생하고, 아날로그 신호를 A/D 변환하여 제어부(260)로 전달한다. 제어부(260)는 전달된 터치이벤트로부터 사용자의 제스처를 검출한다. 사용자 제스처는 터치(Touch)와 터치 제스처(Touch gesture)로 구분된다. 다시 터치 제스처는 탭(Tap), 더블 탭(Double Tap), 롱 탭(Long tap), 드래그(Drag), 플릭(Flick) 및 프레스(Press) 등을 포함한다. 즉 터치는 터치스크린에 접촉(contact)하고 있는 상태를 의미하고, 터치제스처는 터치가 터치스크린(211)에 접촉(touch-on)해서 터치 해제(touch-off)까지의 터치의 변화를 의미한다. 터치스크린(211)은 압력 센서를 구비하여 터치된 지점의 압력을 감지할 수 있다. 감지된 압력 정보는 제어부(260)로 전달되고, 제어부(260)는 감지된 압력 정보를 바탕으로 터치와 프레스를 구분한다.
터치스크린(211)은 손 제스처를 감지하는 손 터치패널과 펜 제스처를 감지하는 펜 터치패널를 포함하여 구성된 복합 터치패널일 수 있다. 여기서 손 터치패널은 정전용량 방식(capacitive type)으로 구성된다. 물론 손 터치패널은 저항막 방식(resistive type), 적외선 방식 또는 초음파 방식으로 구성될 수도 있다. 또한 손 터치패널은 사용자의 손 제스처에 의해서만 터치이벤트를 발생하는 것은 아니며, 다른 물체(예, 정전용량 변화를 가할 수 있는 전도성 재질의 물체)에 의해서도 터치이벤트를 생성할 수 있다. 펜 터치패널은 전자 유도 방식(electromagnetic induction type)으로 구성될 수 있다. 이에 따라 펜 터치패널은 자기장을 형성할 수 있도록 특수 제작된 터치용 스타일러스 펜에 의해 터치이벤트를 생성한다.
키입력부(220)는 숫자 또는 문자 정보를 입력받고 각종 기능들을 설정하기 위한 다수의 키(버튼)들을 포함할 수 있다. 이러한 키들은 메뉴 불러오기 키, 화면 온/오프 키, 전원 온/오프 키 및 볼륨 조절키 등을 포함할 수 있다. 키입력부(220)는 사용자 설정 및 장치(200)의 기능 제어와 관련한 키 이벤트를 생성하여 제어부(260)로 전달한다. 키 이벤트는 전원 온/오프 이벤트, 볼륨 조절 이벤트, 화면 온/오프 이벤트 등을 포함할 수 있다. 제어부(260)는 이러한 키 이벤트에 응답하여 상기한 구성들을 제어한다. 한편 키입력부(220)의 키(버튼)는 하드 키(hard key)라 하고 표시부(210)에 표시되는 키(버튼)는 소프트 키(soft key)로 지칭될 수 있다.
저장부(230)는 제어부(260)의 보조기억장치(secondary memory unit)로써, 디스크, 램(RAM), 롬(ROM) 및 플래시 메모리를 포함할 수 있다. 저장부(230)는 제어부(260)의 제어 하에, 장치(200)에서 생성되거나 무선통신부(240) 또는 외부장치 인터페이스부를 통해 외부장치(예, 서버, 데스크탑 PC, 태블릿 PC 등)로부터 수신한 데이터를 저장할 수 있다. 저장부(230)는 재지정 히스토리 DB(231)를 포함한다. 재지정 히스토리 DB(231)는 제어부(260)에 의해 관리(즉, 저장, 업데이트, 삭제 등)된다. 재지정 히스토리 DB(231)는 입력 URL과 이에 대응되는 하나 이상의 예측 URL을 포함한다. 여기서 입력 URL은 사용자가 직접 키패드를 이용하여 URL 바에 입력한 것이거나 즐겨찾기에서 사용자가 선택한 URL이거나 또는 브라우저의 웹 페이지에서 사용자가 선택한 링크(link)의 URL이고, 예측 URL은 재지정 메시지에 포함된 URL이다. 즉 입력 URL을 포함한 요청 메시지가 네트워크로 전송되면, 성공 메시지 또는 재지정 메시지가 장치(200)로 수신된다. 이때 재지정 메시지가 수신될 경우 제어부(260)는 입력 URL을 재지정 히스토리 DB(231)에 저장하고, 재지정 메시지에서 URL을 추출하고, 추출된 URL을 입력 URL에 대응되는 예측 URL로써 재지정 히스토리 DB(231)에 저장한다. 재지정 히스토리 DB(231)의 일례는 다음 표 1과 같다.
입력 URL 입력 URL
제 1 예측 URL 제 2 예측 URL 제 3 예측 URL
naver.com www.naver.com m.naver.com -
craigslist.org www.craiglist.org geo.craigslist.org seoul.craigslist.co.kr
ad.naver.com/image.gif adservice1. naver.com/image.gif - -
상기 표 1에서 제 1 내지 제 3 예측 URL은 입력 URL일 수 있다. 예컨대, 사용자가 "www.naver.com"을 직접 입력하거나 즐겨찾기에서 선택하거나 또는 해당 링크를 선택할 수 있다. 그러면 "www.naver.com"가 입력 URL이 되고 이의 예측 URL은 "m.naver.com"이 된다.
저장부(230)는 장치(200)의 운용을 위한 운영체제(OS, Operating System) 및 각종 프로그램들을 저장한다. 여기서 운영체제는 하드웨어와 프로그램간의 인터페이스 역할을 하면서, CPU, GPU, 주기억장치, 보조기억장치 등의 컴퓨터 자원을 관리한다. 즉, 운영체제는 장치(200)를 동작시키고 작업(task)의 순서를 정하며 CPU의 연산 및 GPU의 연산을 제어한다. 또한 운영체제는 응용 프로그램의 실행을 제어하는 기능과, 데이터와 파일의 저장을 관리하는 기능 등을 수행한다.
저장부(230)는 브라우저 및 HTTP 메시지 처리 프로그램을 저장한다. 여기서 HTTP 메시지 처리 프로그램은 브라우저에 포함된 프로그램일 수도 있고 브라우저와는 독립적으로 실행되는 별도의 프로그램일 수 있다. HTTP 메시지 처리 프로그램은 재지정 히스토리 DB(231)를 관리(즉, URL 저장, 업데이트 및 삭제 등)하는 기능과, 재지정 히스토리 DB(231)를 참조하여 입력 URL에 대응되는 실제 URL을 예측하는 기능과, 예측 URL에 대응되어 수신된 성공 메시지가 사용자가 원하는 것인지 여부를 평가하는 기능을 포함한다.
저장부(230)는 내재화 어플리케이션(embedded application) 및 서드파티 어플리케이션(3rd party application)을 포함할 수 있다. 내재화 어플리케이션은 장치(200)에 기본적으로 탑재되어 있는 어플리케이션을 의미한다. 예컨대 내재화 어플리케이션은 브라우저(browser), 이메일(email), 인스턴트 메신저(instant messenger) 등이 될 수 있다. 서드파티 어플리케이션은 주지되어 있는 바와 같이 온라인 마켓으로부터 장치(200)에 다운로드되어 설치될 수 있는 어플리케이션을 의미하며, 매우 다종다양하다. 이러한 서드파티 어플리케이션은 설치 및 제거가 자유롭다. 예컨대, 상기 HTTP 메시지 처리 프로그램을 포함한 브라우저는 서드파티 어플리케이션일 수 있다. 장치(200)가 켜지면 먼저 부팅 프로그램이 제어부(260)의 주기억장치(예, RAM)로 로딩(loading)된다. 이러한 부팅 프로그램은 장치(200)가 동작할 수 있게 운영체제를 주기억장치로 로딩한다. 또한 운영체제는 프로그램(특히, 콘텐츠 관리 프로그램)을 주기억장치로 로딩하여 실행한다. 이러한 부팅 및 로딩은 컴퓨터 시스템에서 널리 공지되어 있는 기술이므로 구체적인 설명은 생략한다.
무선통신부(240)는 제어부(260)의 제어 하에, 외부장치와 음성 통화, 화상 통화 또는 데이터 통신을 수행한다. 이를 위하여 무선통신부(240)는 송신되는 신호의 주파수를 상승변환 및 증폭하는 무선주파수 송신부와, 수신되는 신호의 주파수를 저잡음 증폭 및 하강 변환하는 무선주파수 수신부 등을 포함할 수 있다. 또한 무선 통신부(240)는 이동 통신 모듈(예컨대, 3세대(3-Generation) 이동통신모듈, 3.5(3.5-Generation)세대 이동통신모듈 또는 4(4-Generation)세대 이동통신모듈 등), 디지털 방송 모듈(예컨대, DMB 모듈) 및 근거리 통신 모듈(예, 와이파이(Wi-Fi) 모듈, 블루투스(bluetooth) 모듈)을 포함할 수 있다.
오디오 처리부(250)는 스피커(SPK) 및 마이크(MIC)와 결합하여 음성 인식, 음성 녹음, 디지털 레코딩(recording) 및 통화 기능을 위한 오디오 신호의 입력 및 출력 기능을 수행한다. 오디오 처리부(250)는 제어부(260)로부터 오디오 신호를 수신하고, 수신한 오디오 신호를 아날로그로 D/A 변환하고 증폭한 후 스피커(SPK)로 출력한다. 오디오 처리부(250)는 마이크(MIC)으로부터 수신한 오디오 신호를 디지털로 A/D 변환한 후 제어부(260)로 제공한다. 스피커(SPK)는 오디오 처리부(250)로부터 수신한 오디오 신호를 음파(sound wave)로 변환하여 출력한다. 마이크(MIC)는 사람이나 기타 소리원(sound source)들로부터 전달된 음파를 오디오 신호로 변환한다.
제어부(260)는 장치(200)의 전반적인 동작 및 장치(200)의 내부 구성들 간의 신호 흐름을 제어하고, 데이터를 처리하는 기능을 수행하고, 배터리에서 상기 구성들로의 전원 공급을 제어한다. 제어부(260)는 CPU(central processing unit)와 GPU(graphic processing unit) 등을 포함한다. 주지된 바와 같이 CPU는 자료의 연산 및 비교와, 명령어의 해석 및 실행 등을 수행하는 컴퓨터 시스템의 핵심적인 제어 유닛이다. GPU는 CPU를 대신하여, 그래픽과 관련한 자료의 연산 및 비교와, 명령어의 해석 및 실행 등을 수행하는 그래픽 제어 유닛이다. CPU와 GPU은 각각, 두 개 이상의 독립 코어(예, 쿼드 코어(quad-core))가 단일 집적 회로로 이루어진 하나의 패키지(package)로 통합될 수 있다. 또한 CPU와 GPU는 하나의 칩으로 통합(SoC; System on Chip)된 것일 수 있다. 또한 CPU와 GPU는 멀티 레이어(multi layer)로 패키징(packaging)된 것일 수도 있다. 한편 CPU 및 GPU를 포함하는 구성은 AP(Application Processor)라고 지칭될 수 있다.
제어부(260)는 메인메모리(main memory unit) 예컨대, 램(RAM)을 포함한다. 메인메모리는 저장부(230)로부터 로딩된 각종 프로그램 예컨대, 부팅 프로그램, 운영체제 및 어플리케이션들을 저장한다. 제어부(260)의 CPU와 GPU는 이와 같은 프로그램에 액세스하여 프로그램의 명령을 해독하고, 해독 결과에 따른 기능을 실행한다. 또한 메인메모리는 저장부(230)에 기록(write)할 데이터를 임시 저장하고 저장부(230)로부터 읽어 온(read) 데이터를 임시 저장한다. 여기서 데이터 임시 저장소로써 캐시메모리가 별도로 구비될 수도 있다.
제어부(260)의 본 발명과 관련된 특징적인 기술 즉, HTTP 메시지 처리를 이하 도면을 참조하여 설명한다.
한편 디지털 기기의 컨버전스(convergence) 추세에 따라 변형이 매우 다양하여 모두 열거할 수는 없으나, 장치(200)는 가속도 센서, 자이로 센서, GPS 모듈, NFC(Near Filed Communication) 모듈, 진동 모터, 카메라, 액세서리, 외부장치 인터페이스부 등과 같이 상기에서 언급되지 않은 구성들을 더 포함할 수 있다. 여기서 액세서리는 장치(200)로부터 분리가 가능한 장치(200)의 부속품으로써 예컨대, 터치스크린(211)에 터치를 위한 펜이 될 수 있다. 외부장치 인터페이스부는 유선을 통해 외부장치(예, 다른 휴대 단말, 데스크탑 PC, 노트북 PC, 헤드폰, 충전기 등)와 연결되고 제어부(260)의 제어 하에 외부장치와 데이터 통신을 수행한다. 또한 장치(200)은 그 제공 형태에 따라 상기한 구성들에서 특정 구성이 제외되거나 다른 구성으로 대체될 수도 있다.
도 3은 본 발명의 일 실시예에 따른 재지정 히스토리 관리 방법을 설명하기 위한 흐름도이다.
도 3을 참조하면, 표시부(210)는 제어부(260)의 제어 하에, 브라우저의 아이콘을 포함하는 홈 화면을 표시한다. 사용자가 브라우저의 아이콘을 탭 하면 터치스크린(211)은 탭에 응답하여 터치이벤트를 발생시켜 제어부(260)로 전달한다. 제어부(260)는 터치스크린(211)으로부터 터치이벤트를 검출하고, 터치이벤트에 응답하여 브라우저를 실행한다. 표시부(210)는 제어부(260)의 제어 하에, 브라우저의 실행 화면(예, 빈 페이지나 미리 설정된 홈 페이지)을 표시한다. 브라우저의 실행 화면에서 URL 바가 사용자에 의해 선택되면, 제어부(260)는 키패드를 표시하도록 표시부(210)를 제어한다. 단계 310에서 제어부(260)는 입력부 예컨대, 터치스크린(211)이나 키입력부(220)로부터 URL의 입력을 검출한다. 여기서 URL은 사용자가 처음 입력한 것으로 가정한다. 즉 재지정 히스토리 DB(131)에 없는 것으로 가정한다. 이러한 URL은 사용자가 직접 키패드를 이용하여 URL 바에 입력한 것이거나, 브라우저의 즐겨찾기에서 사용자가 선택한 URL이거나 또는 브라우저의 웹 페이지에서 사용자가 선택한 링크(link)의 URL일 수 있다. 단계 320에서 제어부(260)는 입력 URL에 대응되는 예측 URL이 히스토리 DB(231)에 존재하는지 여부를 확인한다. 확인 결과 존재하는 경우 제어부(260)는 URL 예측 및 평가 기능을 수행한다.
입력 URL에 대응되는 예측 URL이 재지정 히스토리 DB(231)에 존재하지 않는 경우 단계 330에서 제어부(260)는 입력 URL을 포함하는 요청 메시지를 네트워크로 전송하도록 무선통신부(240)를 제어한다. 여기서 입력 URL 그 자체가 재지정 히스토리 DB(231)에 존재하지 않을 수 있다. 그러면 제어부(260)는 입력 URL을 재지정 히스토리 DB(231)에 저장한다. 또한 요청 메시지에는 브라우저의 종류를 나타내는 브라우저 정보와 위치 정보(예, IP 주소)를 포함한다. 이에 따라 해당 HTTP 요청 메시지를 수신하여 처리하는 서버는 HTTP 요청 메시지에 포함된 URL, 브라우저 정보 및 위치 정보를 기반으로 재지정 메시지를 발송할 것인지 아님 다른 메시지(예컨대, 상태 코드가 '2XX'인 성공 메시지)를 발송할 것인지 여부를 결정한다. 서버는, 정확한 URL 주소를 사용자에게 제공해줄 필요가 있는 제 1의 경우, 지역 기반 서비스를 제공해줄 필요가 있는 제 2의 경우 또는 로드 밸런싱(load balancing) 즉, 트래픽(traffic)을 분산할 필요가 있는 제 3의 경우, 재지정 메시지를 클라이언트에 전송한다.
제 1 의 경우의 일례로 서버는, 수신된 URL이 "naver.com"인 경우, "www.naver.com"을 포함하는 재지정 메시지를 클라이언트에게 전송한다. 서버는, 수신된 URL이 "www.naver.com'이고 브라우저 정보가 일반 PC용인 "웹 브라우저"인 경우, 수신된 URL의 웹페이지를 포함하는 성공 메시지를 전송한다. 수신된 URL이 "www.naver.com"이고 수신된 브라우저 정보가 "모바일 브라우저"인 경우, "m.naver.com"을 포함하는 재지정 메시지를 전송한다. 제 2 의 경우의 일례로 서버는, 수신된 URL이 "geo.craigslist.org"이고 수신된 위치 정보가 대한민국 서울의 IP 주소인 경우, "seoul.craigslist.co.kr"을 포함하는 재지정 메시지를 전송한다. 제 3의 경우의 일례로 서버는 제 1 클라이언트로부터 "ad.naver.com/image.gif"를 포함하는 GET 요청 메시지를 수신하고 동시에 제 2 클라이언트로부터 "ad.naver.com/image.gif"를 포함하는 GET 요청 메시지를 수신한다. 그러면 트래픽 분산을 위해 서버는 "adservice1.naver.com/image.gif"를 포함하는 제 1 재지정 메시지를 제 1 클라이언트로 전송하고, "adservice2.naver.com/image.gif"를 포함하는 제 2 재지정 메시지를 제 2 클라이언트로 전송한다. 단계 340에서 제어부(260)는 무선통신부(240)를 통해 응답 메시지를 수신한다. 한편, 본 발명에서 모든 GET 요청 메시지에는 브라우저의 종류가 무엇인지를 나타내는 정보(예, 모바일 브라우저)가 포함될 수 있다.
단계 350에서 제어부(260)는 응답 메시지가 재지정 메시지인지 여부를 결정한다. 예컨대, 응답 메시지의 헤더(header)를 분석(parsing)하고, 분석 결과 상태 코드가 3XX(예, '301' 또는 '302')인 경우 수신된 응답 메시지를 재지정 메시지로 결정한다. 수신된 응답 메시지가 재지정 메시지인 경우 단계 360에서 제어부(260)는 재지정 메시지에서 URL을 추출한다. 단계 370에서 제어부(260)는 추출된 URL을 입력 URL에 대응되는 예측 URL로써 재지정 히스토리 DB(231)에 저장한다. 그런 다음 단계 380에서 제어부(260)는 추출된 URL을 포함하는 요청 메시지를 네트워크로 전송하도록 무선통신부(240)를 제어한다. 다음으로 단계 390에서 제어부(260)는 무선통신부(240)를 통해 응답 메시지를 수신한 후 단계 350으로 복귀한다. 즉 제어부(260)는 재지정 메시지가 아닌 다른 메시지(예, 성공 메시지)가 수신될 때까지 단계 360 내지 단계 390을 반복 수행한다.
도 4는 본 발명의 일 실시예에 따른 URL 예측 및 평가 방법을 설명하기 위한 흐름도이다. 도 5 및 도 6은 본 발명에 따른 데이터 로딩 시간의 단축 효과를 설명하기 위한 도면들이다.
도 4를 참조하면, 단계 410에서 제어부(260)는 입력부 예컨대, 터치스크린(211)이나 키입력부(220)로부터 URL의 입력을 검출한다. 단계 420에서 제어부(260)는 입력 URL에 대응되는 예측 URL이 히스토리 DB(231)에 존재하는지 여부를 확인한다. 확인 결과 존재하지 않은 경우 제어부(260)는 히스토리 DB의 관리 기능(예컨대, 단계 320 내지 단계 390)을 수행한다.
단계 420에서의 확인 결과 입력 URL에 대응되는 예측 URL이 히스토리 DB(231)에 존재하는 경우, 단계 430에서 제어부(260)는 입력 URL 및 예측 URL에 각각 포함하는 요청 메시지들을 네트워크로 전송하도록 무선통신부(240)를 제어한다. 여기서 예측 URL은 둘 이상일 수 있다. 예컨대, 도 5를 참조하면, 제 1 GET 요청 메시지(510)는 입력 URL "naver.com"을 포함하고, 제 2 GET 요청 메시지(520)는 제 1 예측 URL "www.naver.com"을 포함하고, 제 3 GET 요청 메시지(530)는 제 2 예측 URL "m.naver.com"을 포함한다. 결과적으로, 제 1 GET 요청 메시지(510) 및 제 2 GET 요청 메시지(520)는 각각 URL의 재지정을 요청하는 "재지정 요청 메시지"이고, 제 3 GET 요청 메시지(530)는 데이터를 요청하는 "데이터 요청 메시지"이다. 다시 말해, 무선통신부(240)는 제어부(260)의 제어 하에, 적어도 하나의 재지정 요청 메시지와 하나의 데이터 요청 메시지를 네트워크로 동시에 전송한다.
단계 440에서 제어부(260)는 무선통신부(240)를 통해 네트워크로부터 응답 메시지들을 수신한다. 예컨대, 도 5를 참조하면, 제 1 응답 메시지(640)는 상태코드 '301' 및 URL "www.naver.com"을 포함하고, 제 2 응답 메시지(650)는 상태코드 '302' 및 URL "m.naver.com"을 포함하고, 제 3 응답 메시지(660)는 상태코드 '200' 및 데이터를 포함한다. 즉 제어부(260)는 재지정 요청 메시지를 네트워크로 전송한 결과로써 재지정 메시지(즉, 제 1 응답 메시지(640) 및 제 2 응답 메시지(650)를 수신하고, 데이터 요청 메시지를 네트워크로 전송한 결과로써 성공 메시지(즉, 제 3 응답 메시지(660))를 수신한다. 제 2 응답 메시지(650)에는 상태코드 '303' 또는 '307'을 포함할 수 있다. 여기서 상태코드가303인 재지정 메시지는 "요구한 데이터가 변경되지 아니하여 문제가 있다"라는 의미의 See Other 메시지이고, 상태코드가 307인 재지정 메시지는 "자료가 임시적으로 옮겨졌다"라는 의미의 Temporary Dredirect 메시지이다.
단계 450에서 제어부(260)는 수신된 응답 메시지들 중 성공 메시지가 유효한지 여부를 결정한다. 구체적으로 제어부(260)는 응답 메시지들 중 재지정 메시지(특히, 상태코드가 '302'인 메시지)에서 URL을 추출하고, 성공 메시지에 대응되는 데이터 요청 메시지의 예측 URL을 확인하고, 상기 추출된 URL과 상기 확인된 예측 URL이 동일한 경우 성공 메시지가 유효한 것으로 결정한다. 예컨대, 도 5를 참조하면, 제 3 응답 메시지(560)에 대응되는 제 3 요청 메시지(530)의 예측 URL(531)과 제 2 응답 메시지(550)의 URL(551)이 동일하므로, 제어부(260)는 제3 응답 메시지(560)를 유효한 것으로 결정한다. 성공 메시지가 유효한 경우 단계 460에서 제어부(260)는 성공 메시지의 데이터를 자원으로 결정한다. 즉, 제어부(260)는 제 3 응답 메시지(560)를 사용자가 원하는 데이터가 포함된 유효한 메시지인 것으로 인식한다. 제 1 요청 메시지(510)와 제 1 응답 메시지(540)를 송수신하는데 걸리는 시간(즉, 제 1 재지정 요청/응답 시간)은 't1'이고, 제 2 요청 메시지(520)와 제 2 응답 메시지(550)를 송수신하는데 걸리는 시간(제 2 재지정 요청/응답 시간)은 't2'이고, 제 3 요청 메시지(530)와 제 3 응답 메시지(560)를 송수신하는데 걸리는 시간(데이터 요청/응답 시간)은 't3'이다. 만약 이러한 메시지들이 종래 재지정 절차에 따라 개별적으로 송수신된다면, 데이터 로딩 시간은 총 't1+t2+t3'이다. 반면 본 발명의 URL 예측 및 평가 방법에 따르면, 재지정 요청/응답과 데이터 요청/응답이 동시에 이루어지기 때문에, 데이터 로딩 시간은 t3로써 종래와 비교하여 단축됨을 알 수 있다.
한편 단계 440에서 수신된 성공 메시지는 유효하지 않을 수 있다. 예컨대, 도 6을 참조하면, 무선통신부(240)는 제어부(260)의 제어 하에, 입력 URL "twitter.com"을 포함하는 제 1 GET 요청 메시지(610)와, 제 1 예측 URL "www.twitter.com"을 포함하는 제 2 GET 요청 메시지(620)와, 제 2 예측 URL "m.twitter.com"을 포함하는 제 3 GET 요청 메시지(630)를 동시에 전송한다. 이에 응답하여 서버는 제 1 내지 제 3 응답 메시지(640 내지 660)를 무선통신부(240)로 전송한다. 제어부(260)는 무선통신부(240)를 통해 제 1 내지 제 3 응답 메시지(640 내지 660)를 수신한다. 제 3 응답 메시지(660)에 대응되는 제 3 요청 메시지(630)의 예측 URL(631)과 제 2 응답 메시지(650)의 URL(651)이 상이하므로, 제어부(260)는 제 3 응답 메시지(660)를 유효하지 않은 것으로 결정한다. 이와 같이, 성공 메시지가 유효하지 않은 것으로 결정된 경우 단계 471에서 제어부(260)는 응답 메시지들 중 재지정 메시지(특히, 상태코드가 '302'인 메시지)에서 추출된 URL을 새로운 예측 URL로써 재지정 히스토리 DB(231)에 저장한다. 예컨대, 도 6을 참조하면, 제어부(260)는 "m.twitter.com"(631)을 삭제하고 그 대신 "mobile.twitter.com"(651)을 저장한다. 또한 단계 471에서 제어부(260)는 추출된 URL을 포함하는 제 4 요청 메시지(670)를 네트워크로 전송하도록 무선통신부(240)를 제어한다. 단계 472에서 제어부(260)는 무선통신부(240)를 통해 성공 메시지 즉, 제 4 응답 메시지(680)를 수신한다. 이상으로, 단계 440에서 수신된 성공 메시지가 유효하지 않은 경우 제 4 요청 메시지(670) 및 제 4 응답 메시지(680)를 송수신하는데 걸리는 시간 't4'가 더 소요된다. 즉 데이터 로딩 시간은 총 't3+t4'가 된다. 단계 473에서 제어부(260)는 단계 472에서 수신된 성공 메시지의 데이터를 자원으로 결정한다.
단계 480에서 제어부(260)는 자원으로 결정된 데이터를 이미지로 렌더링하고, 단계 490에서 제어부(260)는 렌더링된 데이터를 표시하도록 표시부(210)를 제어한다.
상술한 바와 같은 본 발명에 따른 HTTP 메시지 처리 방법은 다양한 컴퓨터를 통하여 수행될 수 있는 프로그램 명령으로 구현되어 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다. 여기서 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 포함할 수 있다. 또한 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 또한 기록매체에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 자기매체(Magnetic Media)와, CD-ROM, DVD와 같은 광기록 매체(Optical Media)와, 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media)와, 롬(ROM)과, 램(RAM)과, 플래시 메모리 등과 같은 하드웨어 장치가 포함될 수 있다. 또한 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라, 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드가 포함될 수 있다. 하드웨어 장치는 본 발명을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있다.
본 발명에 따른 HTTP 메시지 처리 방법 및 장치는 전술한 실시 예에 국한되지 않고 본 발명의 기술 사상이 허용하는 범위에서 다양하게 변형하여 실시할 수가 있다.
200: HTTP 메시지 처리 장치
210: 표시부 211: 터치스크린
220: 키입력부 230: 저장부
231: 재지정 히스토리 DB 240: 무선통신부
250: 오디오처리부 260: 제어부

Claims (12)

  1. 네트워크 접속 가능한 장치에서 HTTP 메시지 처리 방법에 있어서,
    URL의 입력을 검출하는 단계;
    상기 입력 URL에 대응되는 하나 이상의 예측 URL이 재지정 히스토리 DB에 존재하는 경우, 상기 입력 URL 및 상기 하나 이상의 예측 URL을 각각 포함하는 제 1 요청 메시지들을 상기 네트워크로 전송하는 단계;
    상기 제 1 요청 메시지들에 대응되는 제 1 응답 메시지들을 상기 네트워크로부터 수신하는 단계;
    상기 제 1 응답 메시지들 중 성공 메시지가 유효한지 여부를 결정하는 단계; 및
    상기 성공 메시지가 유효한 경우 상기 성공 메시지의 데이터를 사용자에게 제공할 자원으로 결정하는 단계를 포함하는 HTTP 메시지 처리 방법.
  2. 제 1 항에 있어서,
    상기 제 1 응답 메시지들 중 성공 메시지가 유효한지 여부를 결정하는 단계는,
    상기 제 1 응답 메시지들 중 재지정 메시지에서 URL을 추출하는 단계와,
    상기 제 1 요청 메시지들 중 상기 성공 메시지에 대응되는 요청 메시지의 예측 URL을 확인하는 단계와,
    상기 추출된 URL과 상기 확인된 예측 URL이 동일한 경우 상기 성공 메시지가 유효한 것으로 결정하고, 상기 추출된 URL과 상기 확인된 예측 URL이 동일하지 않은 경우 상기 성공 메시지가 유효하지 않은 것으로 결정하는 단계를 포함하는 것을 특징으로 하는 HTTP 메시지 처리 방법.
  3. 제 2 항에 있어서,
    상기 제 1 응답 메시지들 중 재지정 메시지에서 URL을 추출하는 단계는,
    상태코드가 "302", "303" 및 "307"인 재지정 메시지들 중 적어도 하나에서 URL을 추출하는 것을 특징으로 하는 HTTP 메시지 처리 방법.
  4. 제 2 항에 있어서,
    상기 성공 메시지가 유효하지 않은 것으로 결정된 경우 상기 추출된 URL을 포함하는 제 2 요청 메시지를 상기 네트워크로 전송하는 단계와,
    상기 제 2 요청 메시지에 대응되는 제 2 응답 메시지를 상기 네트워크로부터 수신하는 단계와,
    상기 제 2 응답 메시지의 데이터를 사용자에게 제공할 자원으로 결정하는 단계를 더 포함하는 것을 특징으로 하는 HTTP 메시지 처리 방법.
  5. 제 2 항에 있어서,
    상기 성공 메시지가 유효하지 않은 것으로 결정된 경우 상기 추출된 URL을 예측 URL로써 상기 재지정 히스토리 DB에 저장하는 단계를 더 포함하는 것을 특징으로 하는 HTTP 메시지 처리 방법.
  6. 제 1 항에 있어서,
    상기 입력 URL에 대응되는 하나 이상의 예측 URL이 재지정 히스토리 DB에 존재하지 않는 경우, 상기 입력 URL을 포함하는 제 3 요청 메시지를 상기 네트워크로 전송하는 단계;
    상기 제 3 요청 메시지에 대응되는 제 3 응답 메시지를 상기 네트워크로부터 수신하는 단계;
    상기 제 3 응답 메시지가 재지정 메시지인 경우 상기 재지정 메시지에서 URL을 추출하는 단계;
    상기 추출된 URL을 상기 입력 URL에 대응되는 예측 URL로써 재지정 히스토리 DB에 저장하는 단계를 더 포함하는 것을 특징으로 하는 HTTP 메시지 처리 방법.
  7. URL을 입력하기 위한 입력부;
    상기 입력 URL에 대응되는 하나 이상의 예측 URL을 포함하는 재지정 히스토리 DB를 저장하는 저장부;
    상기 입력 URL 및 상기 하나 이상의 예측 URL을 각각 포함하는 제 1 요청 메시지들을 상기 네트워크로 전송하고, 상기 제 1 요청 메시지들에 대응되는 제 1 응답 메시지들을 상기 네트워크로부터 수신하는 무선통신부; 및
    상기 제 1 응답 메시지들 중 성공 메시지가 유효한지 여부를 결정하고, 상기 성공 메시지가 유효한 경우 상기 성공 메시지의 데이터를 사용자에게 제공할 자원으로 결정하는 제어부를 포함하는 HTTP 메시지 처리 장치.
  8. 제 7 항에 있어서,
    상기 제어부는,
    상기 제 1 응답 메시지들 중 재지정 메시지에서 URL을 추출하고, 상기 제 1 요청 메시지들 중 상기 성공 메시지에 대응되는 요청 메시지의 예측 URL을 확인하고, 상기 추출된 URL과 상기 확인된 예측 URL이 동일한 경우 상기 성공 메시지가 유효한 것으로 결정하고, 상기 추출된 URL과 상기 확인된 예측 URL이 동일하지 않은 경우 상기 성공 메시지가 유효하지 않은 것으로 결정하는 것을 특징으로 하는 HTTP 메시지 처리 장치.
  9. 제 8 항에 있어서,
    상기 제어부는,
    상태코드가 "302", "303" 및 "307"인 재지정 메시지들 중 적어도 하나에서 URL을 추출하는 것을 특징으로 하는 HTTP 메시지 처리 장치.
  10. 제 8 항에 있어서,
    상기 제어부는,
    상기 성공 메시지가 유효하지 않은 것으로 결정된 경우 상기 추출된 URL을 포함하는 제 2 요청 메시지를 상기 네트워크로 전송하고 상기 제 2 요청 메시지에 대응되는 제 2 응답 메시지를 상기 네트워크로부터 수신하도록 상기 무선통신부를 제어하고, 상기 제 2 응답 메시지의 데이터를 사용자에게 제공할 자원으로 결정하는 것을 특징으로 하는 HTTP 메시지 처리 장치.
  11. 제 8 항에 있어서,
    상기 제어부는,
    상기 성공 메시지가 유효하지 않은 것으로 결정된 경우 상기 추출된 URL을 예측 URL로써 상기 재지정 히스토리 DB에 저장하는 것을 특징으로 하는 HTTP 메시지 처리 장치.
  12. 제 7 항에 있어서,
    상기 제어부는,
    상기 입력 URL에 대응되는 하나 이상의 예측 URL이 재지정 히스토리 DB에 존재하지 않는 경우, 상기 입력 URL을 포함하는 제 3 요청 메시지를 상기 네트워크로 전송하고 상기 제 3 요청 메시지에 대응되는 제 3 응답 메시지를 상기 네트워크로부터 수신하도록 상기 무선통신부를 제어하고, 상기 제 3 응답 메시지가 재지정 메시지인 경우 상기 재지정 메시지에서 URL을 추출하고, 상기 추출된 URL을 상기 입력 URL에 대응되는 예측 URL로써 재지정 히스토리 DB에 저장하는 것을 특징으로 하는 HTTP 메시지 처리 장치.

KR1020120141260A 2012-12-06 2012-12-06 Http 메시지 처리 방법 및 장치 KR20140073243A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120141260A KR20140073243A (ko) 2012-12-06 2012-12-06 Http 메시지 처리 방법 및 장치
US14/063,484 US9288255B2 (en) 2012-12-06 2013-10-25 Apparatus and method for processing HTTP message

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120141260A KR20140073243A (ko) 2012-12-06 2012-12-06 Http 메시지 처리 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20140073243A true KR20140073243A (ko) 2014-06-16

Family

ID=50882229

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120141260A KR20140073243A (ko) 2012-12-06 2012-12-06 Http 메시지 처리 방법 및 장치

Country Status (2)

Country Link
US (1) US9288255B2 (ko)
KR (1) KR20140073243A (ko)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10749711B2 (en) 2013-07-10 2020-08-18 Nicira, Inc. Network-link method useful for a last-mile connectivity in an edge-gateway multipath system
US10454714B2 (en) 2013-07-10 2019-10-22 Nicira, Inc. Method and system of overlay flow control
JP5976033B2 (ja) 2014-04-24 2016-08-23 株式会社オプティム 携帯端末、アクセスポイント関連コンテンツ取得方法、携帯端末用プログラム
CN105656957B (zh) * 2014-11-12 2019-10-25 腾讯科技(武汉)有限公司 应用内下载第三方应用的方法、装置及系统
US10425382B2 (en) 2015-04-13 2019-09-24 Nicira, Inc. Method and system of a cloud-based multipath routing protocol
US10135789B2 (en) 2015-04-13 2018-11-20 Nicira, Inc. Method and system of establishing a virtual private network in a cloud service for branch networking
US10498652B2 (en) 2015-04-13 2019-12-03 Nicira, Inc. Method and system of application-aware routing with crowdsourcing
CN105426190B (zh) * 2015-11-17 2019-04-16 腾讯科技(深圳)有限公司 数据传递方法和装置
US10528976B1 (en) * 2016-02-22 2020-01-07 Openmail Llc Email compliance systems and methods
CN106599246B (zh) * 2016-12-20 2020-02-11 维沃移动通信有限公司 一种显示内容的拦截方法、移动终端及控制服务器
US10992558B1 (en) 2017-11-06 2021-04-27 Vmware, Inc. Method and apparatus for distributed data network traffic optimization
US10992568B2 (en) 2017-01-31 2021-04-27 Vmware, Inc. High performance software-defined core network
US11706127B2 (en) 2017-01-31 2023-07-18 Vmware, Inc. High performance software-defined core network
US11121962B2 (en) 2017-01-31 2021-09-14 Vmware, Inc. High performance software-defined core network
US11252079B2 (en) 2017-01-31 2022-02-15 Vmware, Inc. High performance software-defined core network
US20180219765A1 (en) 2017-01-31 2018-08-02 Waltz Networks Method and Apparatus for Network Traffic Control Optimization
US20200036624A1 (en) 2017-01-31 2020-01-30 The Mode Group High performance software-defined core network
US10778528B2 (en) 2017-02-11 2020-09-15 Nicira, Inc. Method and system of connecting to a multipath hub in a cluster
CN108664493B (zh) * 2017-03-29 2021-09-03 北京京东尚科信息技术有限公司 统计url是否有效的方法、装置、电子设备和存储介质
US10523539B2 (en) 2017-06-22 2019-12-31 Nicira, Inc. Method and system of resiliency in cloud-delivered SD-WAN
US10959098B2 (en) 2017-10-02 2021-03-23 Vmware, Inc. Dynamically specifying multiple public cloud edge nodes to connect to an external multi-computer node
US11115480B2 (en) 2017-10-02 2021-09-07 Vmware, Inc. Layer four optimization for a virtual network defined over public cloud
US10841131B2 (en) 2017-10-02 2020-11-17 Vmware, Inc. Distributed WAN security gateway
US10999165B2 (en) 2017-10-02 2021-05-04 Vmware, Inc. Three tiers of SaaS providers for deploying compute and network infrastructure in the public cloud
US11089111B2 (en) 2017-10-02 2021-08-10 Vmware, Inc. Layer four optimization for a virtual network defined over public cloud
US10999100B2 (en) 2017-10-02 2021-05-04 Vmware, Inc. Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider
US11223514B2 (en) 2017-11-09 2022-01-11 Nicira, Inc. Method and system of a dynamic high-availability mode based on current wide area network connectivity
US11153230B2 (en) 2019-08-27 2021-10-19 Vmware, Inc. Having a remote device use a shared virtual network to access a dedicated virtual network defined over public clouds
US11044190B2 (en) 2019-10-28 2021-06-22 Vmware, Inc. Managing forwarding elements at edge nodes connected to a virtual network
US11394640B2 (en) 2019-12-12 2022-07-19 Vmware, Inc. Collecting and analyzing data regarding flows associated with DPI parameters
US11489783B2 (en) 2019-12-12 2022-11-01 Vmware, Inc. Performing deep packet inspection in a software defined wide area network
US11606712B2 (en) 2020-01-24 2023-03-14 Vmware, Inc. Dynamically assigning service classes for a QOS aware network link
US11477127B2 (en) 2020-07-02 2022-10-18 Vmware, Inc. Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN
US11709710B2 (en) 2020-07-30 2023-07-25 Vmware, Inc. Memory allocator for I/O operations
US11444865B2 (en) 2020-11-17 2022-09-13 Vmware, Inc. Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN
US11575600B2 (en) 2020-11-24 2023-02-07 Vmware, Inc. Tunnel-less SD-WAN
US11929903B2 (en) 2020-12-29 2024-03-12 VMware LLC Emulating packet flows to assess network links for SD-WAN
US11792127B2 (en) 2021-01-18 2023-10-17 Vmware, Inc. Network-aware load balancing
US11979325B2 (en) 2021-01-28 2024-05-07 VMware LLC Dynamic SD-WAN hub cluster scaling with machine learning
US11381499B1 (en) 2021-05-03 2022-07-05 Vmware, Inc. Routing meshes for facilitating routing through an SD-WAN
US12009987B2 (en) 2021-05-03 2024-06-11 VMware LLC Methods to support dynamic transit paths through hub clustering across branches in SD-WAN
US11729065B2 (en) 2021-05-06 2023-08-15 Vmware, Inc. Methods for application defined virtual network service among multiple transport in SD-WAN
US11489720B1 (en) 2021-06-18 2022-11-01 Vmware, Inc. Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics
US12015536B2 (en) 2021-06-18 2024-06-18 VMware LLC Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of types of resource elements in the public clouds
US11375005B1 (en) 2021-07-24 2022-06-28 Vmware, Inc. High availability solutions for a secure access service edge application
US11943146B2 (en) 2021-10-01 2024-03-26 VMware LLC Traffic prioritization in SD-WAN
US11909815B2 (en) 2022-06-06 2024-02-20 VMware LLC Routing based on geolocation costs

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6189030B1 (en) * 1996-02-21 2001-02-13 Infoseek Corporation Method and apparatus for redirection of server external hyper-link references
US6345264B1 (en) * 1998-01-22 2002-02-05 Microsoft Corporation Methods and apparatus, using expansion attributes having default, values, for matching entities and predicting an attribute of an entity
US6456699B1 (en) * 1998-11-30 2002-09-24 At&T Corp. Web-based generation of telephony-based interactive voice response applications
US7058637B2 (en) * 2001-05-15 2006-06-06 Metatomix, Inc. Methods and apparatus for enterprise application integration
JP2003208392A (ja) * 2002-01-11 2003-07-25 Fujitsu Ltd ファイル送信装置、ウェブサーバ、ファイル送信システム、ファイル送信プログラム、およびウェブサーバプログラム
US7089370B2 (en) * 2003-09-30 2006-08-08 International Business Machines Corporation Apparatus and method for pre-fetching page data using segment table data
US7350190B2 (en) * 2004-06-29 2008-03-25 International Business Machines Corporation Computer implemented modeling and analysis of an application user interface
US20060068813A1 (en) * 2004-09-29 2006-03-30 Jenq-Yann Wellington Ku Method for determining a mobility index for a mobile unit
US7810035B2 (en) * 2004-10-15 2010-10-05 Microsoft Corporation Browsing web content using predictive navigation links
US7684342B2 (en) * 2004-11-03 2010-03-23 Intel Corporation Media independent trigger model for multiple network types
US7499940B1 (en) * 2004-11-11 2009-03-03 Google Inc. Method and system for URL autocompletion using ranked results
US7769863B2 (en) * 2004-11-19 2010-08-03 Viasat, Inc. Network accelerator for controlled long delay links
US20070022479A1 (en) * 2005-07-21 2007-01-25 Somsubhra Sikdar Network interface and firewall device
US20070208728A1 (en) * 2006-03-03 2007-09-06 Microsoft Corporation Predicting demographic attributes based on online behavior
US20080320031A1 (en) * 2007-06-19 2008-12-25 C/O Canon Kabushiki Kaisha Method and device for analyzing an expression to evaluate
US9424315B2 (en) * 2007-08-27 2016-08-23 Teradata Us, Inc. Methods and systems for run-time scheduling database operations that are executed in hardware
US7958114B2 (en) * 2008-04-04 2011-06-07 Microsoft Corporation Detecting estimation errors in dictinct page counts
US8676171B2 (en) * 2010-10-21 2014-03-18 Resonate Mobile, Inc. Short URL metadata merge application
US8639719B2 (en) * 2011-02-02 2014-01-28 Paul Tepper Fisher System and method for metadata capture, extraction and analysis
US9207777B2 (en) * 2012-11-01 2015-12-08 Blackberry Limited Electronic device with predictive URL domain key function

Also Published As

Publication number Publication date
US9288255B2 (en) 2016-03-15
US20140164560A1 (en) 2014-06-12

Similar Documents

Publication Publication Date Title
KR20140073243A (ko) Http 메시지 처리 방법 및 장치
KR102083209B1 (ko) 데이터 제공 방법 및 휴대 단말
US11798107B2 (en) Scenario-based application recommendation method and apparatus
KR102032449B1 (ko) 이미지 표시 방법 및 휴대 단말
US8706920B2 (en) Accessory protocol for touch screen device accessibility
KR101657379B1 (ko) 원격 환경에 대해 데이터 엔트리 콘텐츠를 제공하기 위한 방법 및 장치
KR102044826B1 (ko) 마우스 기능 제공 방법 및 이를 구현하는 단말
US10296184B2 (en) Webpage navigation method, mobile terminal using the same, and volatile storage medium recording the same
CN108124016B (zh) 一种发送post请求的方法和装置
WO2017193496A1 (zh) 应用数据的处理方法、装置和终端设备
JP6251555B2 (ja) アプリケーション情報提供方法および携帯端末
US9921735B2 (en) Apparatuses and methods for inputting a uniform resource locator
WO2017219293A1 (zh) 一种获取网页内容的方法及装置
WO2015003636A1 (zh) 一种页面元素的拦截方法和装置
JP5997848B2 (ja) 移動端末リソースの処理方法、装置、クライアント側のコンピュータ、サーバ、移動端末、プログラム、及び記録媒体
CN112749074B (zh) 一种测试用例推荐方法以及装置
KR20140028223A (ko) 주소록 제공 방법 및 장치
US20150325254A1 (en) Method and apparatus for displaying speech recognition information
CN106230919B (zh) 一种文件上传的方法和装置
JP7319431B2 (ja) アプリケーション機能の実施方法及び電子装置
CN110309454B (zh) 一种界面显示方法、装置、设备及存储介质
CN114398016B (zh) 界面显示方法和装置
CN109145182B (zh) 数据采集方法、装置、计算机设备及系统
US9811333B2 (en) Using a version-specific resource catalog for resource management
US20150074530A1 (en) Method for controlling content in mobile electronic device

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