Web Services – Summer 2007 - FAU College of Engineering

Download Report

Transcript Web Services – Summer 2007 - FAU College of Engineering

Florida Atlantic University
Department of Computer Science & Engineering
COP 4814 – Web Services
Dr. Roy Levow
Part 1 – Introducing Ajax
Summer 2007
Ajax is Born
• February 2006
• Jesse James Garrett of Adaptive Path
Conceives alternative to Macromedia Flash using
• Asynchronous HTTP Request
• JavaScript
• XML
• Publishes ideas online
Ajax: A New Approach to Web Applications
• See also article form June 2006 Wired
• Intro to Ajax film clip
Web Services – Summer 2007
Frames
• Introduced in HTML 4.0
• Allow page to be loaded into portion of browser window
• Use discouraged in XHTML because of poor interaction with back
button
• Hidden frame technique
• Use 1-pixel frame to contain form (thus hidden)
• Fill in form from JavaScript and submit
• Receive response asynchronously to update page
• Iframes
• Independent of frameset
• Go anywhere on page and can be hidden
Web Services – Summer 2007
The Real Ajax
• On Browser
• Ajax Engine (JavaScript code)
•
•
•
•
Generates display using HTML and CSS
Receive JS calls from user intefface
Sends HTTPRequest to Server
Receives Data from Server
• Server
• Recieves HTTPRequest from Browser
• Interacts with local database
• Sends Data to Browser
Web Services – Summer 2007
HTTP
• Hypertext Transfer Protocol
• Accepts requests from browser
• Transfers responses to browser
• Fetch web pages
• but has many other uses
• HTTPRequest format
<request-line>
<headers>
<blank line>
[<request body>]
Web Services – Summer 2007
HTTP Request
• Many request types
• GET and POST are of interest in Ajax
• Example GET
GET / HTTP/1.1
Host: www.wrox.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.7.6) Gecko/20050225 Firefox/1.0.1
Connection: Keep-Alive
• Get request for root node with HTTP version
• Originating client and information on client
• Request to maintain connection for more transfers
Web Services – Summer 2007
HTTP Request

Item following GET is path to page to load
GET /index.html HTTP/1.1

Parameters can be appended to the url with
URL?name1=value1&name2=value2&…
Web Services – Summer 2007
POST

POST Example
POST / HTTP/1.1
Host: www.wrox.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.7.6) Gecko/20050225 Firefox/1.0.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 40
Connection: Keep-Alive
name=Professional%20Ajax&publisher=Wiley

Adds Content-Type, Content-Length, and data
Web Services – Summer 2007
GET vs POST

GET
Data coded and sent as part of URL
 Data visible (and modifiable) by user
 Use for smaller amount of data
 Slightly less transmission overhead


POST
Data sent separately from URL
 Invisible to user
 Can easily handle large amount of data

Web Services – Summer 2007
HTTP Responses
• Response format
<status-line>
<headers>
<blank line>
[<response-body>]
• Example
HTTP/1.1 200 OK
Date: Sat, 31 Dec 2005 23:59:59 GMT
Content-Type: text/html; charset=ISO8859-1
Content-Length: 122
Web Services – Summer 2007
Response Codes
•
•
•
•
•
200 (OK) – the one we want
304 (NOT MODIFIED) – used to check cached page
401 (UNAUTHORIZED)
403 (FORBIDDEN)
404 (NOT FOUND)
Web Services – Summer 2007