Title: Turning a HTTP Proxy Server
1- Turning a HTTP Proxy Server
- To
- WAP Gateway
- Hsing Mei Yi-Ming Wen
-
- Web Computing Lab
- Computer Science and Information Engineering
Department - Fu Jen Catholic University
- http//weco.csie.fju.edu.tw
- mei_at_csie.fju.edu.tw
2Outline
- Introduction
- Gateway Structure
- HTTP Proxy Operations vs. WAP Gateway Operations
- Implement Header Translation
- Convert HTTP Proxy to WAP Gateway
- Push Operation
- WAP Test-bed
- Conclusion and Future Work
3Introduction
- Main tasks of WAP Gateway
- Content Compilation, Header Translation, Push
Mechanism - The Header Translation and Push Mechanism are two
major concerns in this research - On Header translation
- Our original HTTP proxy server is designed with
coded HTTP header to enhance the internal
operation speed - Using a mapping table to replace the internal
HTTP operation codes to WSP header codes - On Push Mechanism
- Propose a possible push operation sequence to
implement - A WAP test-bed is under development
4HTTP Proxy Operations
- User agent (i.e. client system) sends a request
to the HTTP proxy, and asks for a particular
resource (e.g. a page).
5HTTP Proxy Operations
- After receiving and interpreting the request,
proxy checks if the resource had been cached in
the disk. It's called a Hit when the resource is
found and fresh enough, then proxy sends a
response to user agent.
This effect of a cache is that the
request/response chain is shortened. Otherwise,
a Miss situation occurs, and the sequences
continue to next step.
6HTTP Proxy Operations
- Proxy rewrites all or part of the request, and
forwards the reformatted message toward the
origin server.
7HTTP Proxy Operations
- The web server receives the request, and replies
a suitable response.
8HTTP Proxy Operations
- After receiving the response sent by origin
server, proxy would cache the message if it is a
cacheable message.
9HTTP Proxy Operations
- At last, the response is replied to user agent.
10WAP Gateway Operations
- User agent (i.e. client system) sends a URL
request to a WAP gateway (i.e. WSP request).
11WAP Gateway Operations
- The WAP gateway decodes the request massage and
translates the request line and request header
(in binary-format) to HTTP format using a mapping
table.
12WAP Gateway Operations
- The WAP gateway creates a connection to the web
server and sends a HTTP request to it.
13WAP Gateway Operations
- The HTTP request is processed by the web server.
If the URL refers to a static file, web server
fetches the file to response with a HTTP reply
header if the URL refers to a script
application, web server starts the application.
4
14WAP Gateway Operations
- The web server returns a HTTP reply message,
which contains data or result from script
application.
4
15WAP Gateway Operations
- The WAP gateway encodes the received reply
message, and translates HTTP well-known-formatted
reply line and reply header to WSP binary-format
using the mapping table.
4
16WAP Gateway Operations
- At last, the response is replied to user agent.
4
17Http Proxy vs. WAP Gateway
Proxy
Gateway
- The protocol used between client and gateway
- The caching is an optional operation in the WAP
Gateway
18Header Translation Implementation
- Threaded HTTP Proxy Controller
- Dispatch Module
- establish a socket connection, forward the
request to record state and start request thread
- State Module
- binds the resources with the request
- Request Thread Module
- accomplishes all tasks starting from receiving
client request, and up to responding reply message
- Request Decoding Module
- request line and request header decoding
- Proxy Connection Module
- connects to the web server , rewrites a HTTP
request and sends to the Internet
- Reply Encoding Module
- response status line encoding and response header
encoding
19Header Translation Example
20Convert Http Proxy to WAP Gateway
- A HTTP Proxy could to transfer to a WAP Gateway
by adding some mechanisms
- On the client side, a header decoder and a header
encoder for protocol translation are attached.
- On the server side, we add a content complier for
content compacting.
21Push Operation Sequences
- A push operation in WAP occurs when a Push
Initiator transmits content to a mobile client
- The Push Initiator is on the Internet, and the
mobile client is in the WAP domain
Internet
WAP Domain
- The Push Proxy Gateway (PPG) is needed
22Push Operation Sequences
- A Push Initiator submits a push message to a PPG.
The push message is a multipart type, which
contains a
XML control entity and a content entity, and may
contain a RDF-format capabilities entity defined
in the user agent profile.
23Push Operation Sequences
- The PPG determines to accept or to reject the
received push message. If the PAP push message
element is
not valid with respect to its document type
definition (DTD), the PPG must rejects it.
- The PPG reports the acceptance/rejection result
in the response which is an XML document.
24Push Operation Sequences
- The PPG parses control information of push
message to determine where and how should
deliver.
- A PI must identify client addresses for
submitting.
- The PPG converts the protocols between the
Internet and WAP domain.
25Push Operation Sequences
- If there is no error, the PPG must deliver either
confirmed or unconfirmed push primitives.
- In a confirmed push, PPG sends a request to a
Session Initiation Application (SIA) in order to
create an active WSP session.
26Push Operation Sequences
- When a client receives a pushed message,
Application Dispatcher (AD) parses the push
message header to
- determine its destination application and to run
it.
- If the Push delivery method is confirmed push,
the client responses a primitive.
27Push Operation Sequences
- The PPG sends a Result Notification to inform the
PI of the outcome of the push submission.
- The PI returns a response message to the Result
Notification message.
- Listed push operation sequences are all required
operations, It omits the optional operation
part.
28WAP Test-bed
- Two major behavior in WAP Test-bed pull and push
- In pull condition, the Pull Event Generator
simulates a great deal of clients and sends
requests to gateway
- In push condition, the Push Event Driver starts
scheduled push delivery with push messages
according to subscriber list
- The Packet Filter classifies receiving packets
and records the related information respectively
- According to the recorded information, the
statistic analysis will be able to do
29Conclusion and Future Work
- Conclusion
- Quickly turning a HTTP Proxy Server to WAP
Gateway by adding extra mechanisms is feasible - A possible push operation sequence is proposed
- A WAP Test-bed to evaluate the WAP gateway
- Future Work
- Continue implementing the functionality of our
WAP Push Gateway - Complete the WAP Test-bed and investigate the
gateway performance - Support Jini services on the WAP Gateway
- Estimate the rationality of the proxy caching
operation within WAP Gateway