Chapter 3: Web Paradigms and Interactivity
|
|
|
- Mervin Melton
- 10 years ago
- Views:
Transcription
1 Chapter 3: Web Paradigms and Interactivity 3.1! AJAX: Asynchronous Interactivity in the Web! 3.2! Paradigms for Web-Based Communication! 3.3! Reverse AJAX and COMET! 3.4! Web Sockets and Web Messaging! 3.5! Web Workers Literature:!! Christian Wenz: Ajax - schnell und kompakt. entwickler.press 2007! B. Brinzarea-Iamandi et al.: AJAX and PHP - Building Modern Web Applications, 2nd ed., Packt Publishing
2 Asynchronous JavaScript + XML (AJAX) James Garrett 2005: Ajax: A New Approach to Web Applications! New name for an idea in use already at the time! Decouple server communication from page reload! Fluid interaction! Presented display always stays up-to-date! AJAX is not a technology!! Combination of known technologies: XHTML, CSS, DOM, XML, XSLT, JavaScript, XMLHttpRequest! Idea is neither bound to JavaScript nor to XML!! E.g. using JSON encoding instead of XML 2
3 Classical Synchronous Web Application Model 3
4 Asynchronous Web Application Model 4
5 AJAX and Client-Side Scripting client input display browser UI Ajax engine UI JavaScript! Access to loaded/ displayed HTML via DOM! Flexible input elements (HTML5)! Graphics! (HTML5 canvas)! Engine JavaScript! Event handling! jquery is a good fit for AJAX Written in JavaScript 5
6 AJAX and Server-Side Scripting client Ajax Engine server data transmission data transmission Typical examples for asynchronous server interaction:! Assistance in form filling (search suggestions, post or bank code decoding)! Real-time data (news ticker, stock prices)! Event notification (incoming mail, update of presence status)! Live chat Any language for server-side processing (e.g. PHP, also JavaScript) 6
7 Example 1 (Last Lecture), Using jquery User Browser Open URL (php) HTML+JS/jQuery Server read DB AJAX request (jquery) write 7
8 Example 2 (Very Simple Request), Using jquery User Browser Server file local JS AJAX request (jquery) data 8
9 Example 2 (Very Simple Request), Using jquery <p>the following text is replaced with data retrieved from server (data.txt):</p> <hr/> <p id='text'>text to be inserted here</p> <hr/> <script type='text/javascript'> $(document).ready( function() { $.ajax({ type: 'GET', url: " success: function(data, status) { alert("status: "+status); $('#text').html(data); } }); </script> }); Callback Function jquery/ajaxreq_simple_txt.html 9
10 Example 3 (Answered Request), Using jquery User Browser Server DB local JS AJAX request (jquery) query update display AJAX result (JSON) result dbserver.php 10
11 Example 3 (Answered Request), DB Server <?php $db = new mysqli('localhost','root','demopw','music'); if ($db->connect_error) { die('failed to connect: '.$db->connect_error); }; $title = $_REQUEST['title']; $query = "SELECT * FROM mysongs WHERE title='$title'"; $result = $db->query($query) or die ('Query failed'.$db->error); $row = $result->fetch_assoc(); echo json_encode($row);! $result->free(); $db->close();?> dbserver.php 11
12 Example 3 (Answered Request), Request <input id='inp_title' type='text' size='20'></input><br/> <input id='btn' type='button' value='search'></input> <table id='results' class='result_displ'> <thead>...</thead> <tbody></tbody> </table> <script type='text/javascript'>... $('#btn').click( function() { $.ajax({ type: 'GET', url: ' data: {title: $('#inp_title').val()}, datatype: 'json', success: function(data) { $('#results tbody').append( '<tr><td>'+data.code+'</td>'+...</tr>' ); }); }); jquery/ajaxreq_result_jsn.html 12
13 Building a List of Search Results 13
14 Example 3 (Answered Request), Asynchronous! User Browser Server DB local JS continued! interaction AJAX request (jquery) AJAX result (JSON) query result update display waiting for callback 14
15 Demonstrating Asynchronicity of Handling Make the database server respond slowly:!! sleep(5); before sending the answer! Make the currently displayed results interactive:! Remove button in each row! Can be operated while waiting for server! $('#results tbody').append( '<tr><td>'+data.code+'</td>'+ + '<td><input type="button" value="remove"></input></td></tr>' ).last().find('input').click( function() { $(this).parents('tr').remove(); }); jquery/ajaxreq_result_jsn_slow.html 15
16 AJAX Functionality (Without Using jquery) Main functionalities required:! Construction of a request! Sending a request to the server! Waiting (asynchronously) until server responds! Calling functions to analyze server response! All in one single object:! XMLHttpRequest 16
17 Basic Control Flow Dojo framework 17
18 XMLHttpRequest (XHR) Outlook Web Access for Internet Explorer 5 (end 90s):! XMLHttpRequest object invented at Microsoft! Realized as ActiveX object! Nowadays in all modern browsers! Just JavaScript, including Internet Explorer >7! Under W3C standardization (Level 2 Working Draft January 2012)! var XMLHTTP = new XMLHttpRequest(); Historic browser incompatibilities have to be handled! Built into frameworks like Prototype or jquery 18
19 Construction of an HTTP Request open() method of XMLHttpRequest object! Note: No interaction with the server yet!! Required parameters:! HTTP method: GET, POST or HEAD! URL to send the request to! Optional parameters:! Boolean indication whether to use asynchronous or synchronous treatment (default asynchronous = true)! Username and password for authentication!! Examples:! XMLHTTP.open("GET", "fibonacci.php?fib=12") XMLHTTP.open("POST", "/start.html", false, un, pwd); 19
20 Sending a Request Before sending: XMLHTTP.setRequestHeader() Setting headers for the request! Needed for POST method: Content-Type (MIME type)!!! XMLHTTP.send() Sends request to server! Parameter:! In the simplest case (in particular for GET method): null For POST method: "Request entity body" given as parameter 20
21 States of an XMLHttpRequest Object 0! UNSENT Just created 1! OPENED Request constructed, sending Header part of response arrived 2! HEADERS_ RECEIVED Body is being received 3! LOADING Response has been received completely 4! DONE 21
22 Asynchronous Reaction by Event Handler Registering an event handler for XMLHttpRequest state changes! Event readystatechange of XMLHttpRequest object! Callback function, called at any state change:!» XMLHTTP.addEventListener ("readystatechange", function); Testing for the relevant state change: readystate attribute of XMLHttpRequest object gives current state (as number)! Other attributes: status gives return code! statustext gives associated text! responsetext and responsexml give response content 22
23 Example 2 (Very Simple Request), Without jquery User Browser Server file local JS XMLHttpRequest object HTTP request data 23
24 Example 2 (Very Simple Request) <body> <p>the following text is replaced with data retrieved from server (data.txt):</p> <hr/> <p id='text'>text to be inserted here</p> <hr/> <script type = "text/javascript"> var XMLHTTP = new XMLHttpRequest(); document.addeventlistener("domcontentloaded",function() { XMLHTTP.open("GET", " true); XMLHTTP.addEventListener("readystatechange",function() { if (XMLHTTP.readyState == 4) { alert("status: "+XMLHTTP.statusText); var d = document.getelementbyid("text"); d.innerhtml = XMLHTTP.responseText; } }, false); XMLHTTP.send(null); }, false); </script> </body> ajax/simplerequest.html 24
25 Example 3 (Simplified) with Pure AJAX <?php header("content-type: text/xml"); $db = new mysqli('localhost','root','demopw','music'); $title = $_REQUEST['title']; $query = "SELECT * FROM mysongs WHERE title='$title'";!!?> $xml = "<?xml version=\"1.0\" encoding=\"iso \"?>\n"; $xml.= "<songs>\n"; while ($row = $result->fetch_assoc()) { $xml.= "\t\t<song>\n"; foreach ($row as $tag => $value) { $xml.= "\t\t\t<". $tag. ">\n"; $xml.= "\t\t\t\t". $value. "\n"; $xml.= "\t\t\t</". $tag. ">\n"; }; $xml.= "\t\t</song>\n"; }; $xml.= "</songs>\n"; echo $xml; $result->free(); $db->close(); PHP server! (accessing database),! returning XML Text php/dbserver_xml.php 25
26 Example! Server Output (XML) for Example 3 Request GET /~hussmann/dbserver_xml.php?title=one HTTP/1.1 Host: localhost:80 Response HTTP/ OK Date: Wed, 29 Oct :29:41 GMT Server: Apache/ (Unix) DAV/2 PHP/ X-Powered-By: PHP/ Content-Length: 248 Content-Type: text/xml! <?xml version="1.0" encoding="iso "?> <songs> <song> <code> 1 </code> <title> One </title> <artist> U2 </artist> <album> The Complete U2 </album> <runtime> 272 </runtime> </song> </songs> 26
27 Example 3 with Pure AJAX HTML <html> <head> <title>pure Ajax Request with XML encoded result</title> <style> </style> </head> <body id="bodytext"> <p> Search for a title name: <input id="inp_title" type="text" size="20"></input><br/> </p> <p> <input id="btn" type="button" value="search"></input>! </p> </body> <script type = "text/javascript"> JavaScript code </script>! </html> ajax/req_result_xml.html 27
28 Example 3 with Pure AJAX HTTP Request var XMLHTTP = new XMLHttpRequest(); var btn = document.getelementbyid("btn"); //not needed var inp_title = document.getelementbyid("inp_title"); //not needed var bodytext = document.getelementbyid("bodytext"); // not needed btn.addeventlistener("click", function() { XMLHTTP.open("GET", " title="+inp_title.value); XMLHTTP.send(null); }, false); XMLHTTP.addEventListener("readystatechange", function() { if (XMLHTTP.readyState == 4) { DOM JavaScript code } } }, false); ajax/req_result_xml.html 28
29 Example 3 with Pure AJAX DOM JavaScript var xml = XMLHTTP.responseXML; var songs = xml.getelementsbytagname("song"); if (songs.length > 0) { var artist = songs[0]. getelementsbytagname("artist")[0].firstchild.nodevalue; var album = songs[0]. getelementsbytagname("album")[0].firstchild.nodevalue; var line = document.createelement("p"); var text = document.createtextnode( "Artist: "+artist+"; "+"Album: "+album); line.appendchild(text); bodytext.appendchild(line); } Read XML (tree)! Modify/write HTML (tree) ajax/req_result_xml.html 29
30 AJAX: Potential and Problems Potential:! Reaction to any user action (e.g. mouse move, typing)! Enables classic GUIs for "Web Apps"! Problems:! Back button! Bookmarks! Search engines 30
31 Chapter 3: Web Paradigms and Interactivity 3.1! AJAX: Asynchronous Interactivity in the Web! 3.2! Paradigms for Web-Based Communication! 3.3! Reverse AJAX and COMET! 3.4! Web Sockets and Web Messaging! 3.5! Web Workers 31
32 Basic Web Paradigms: Documents HTML:! Originally intended for scientific papers: Limited structure! Purely static! Not object-oriented! HTML5:! More flexible structure, graphics output, input elements, media playback! DOM:! Dynamic changes of documents! CSS:! Separation content/presentation, presentation classes! JavaScript:! Dynamic changes, object-orientation 32
33 Basic Web Paradigms: Communication Request-response architecture:!» Requests have to be initiated by client! Restricted parameter syntax (keyword-value pairs)! Synchronicity: Client has to wait for response! AJAX:! Enables asynchronous handling of requests in client! Basic restriction to request response remains!! Client-driven architecture 33
34 Types of Client-Server Interaction Client Client Client data data params data Server Server Server Send data to server! Example 1: Sending shopping cart contents! Other examples: Location update, logging Pull data from server! Example 2: Very simple request Pull selected data from server! Example 3: Database query! Manifold other examples Client-driven Client data Server Push data from server to client! Examples: New mail, breaking news, chat Client params data Server Request data from client! Examples: Status inquiry, security check Server-driven 34
35 Server-Driven Applications in the Web Frequent and easy solution: Polling! Client sends requests to server in regular intervals! Disadvantages:! Redundant load to client, server, network! Changes traffic characteristics! Limited time resolution for real-time events! Alternatives:! (a) Reverse AJAX / COMET Tricking the Web architecture! (b) Going beyond traditional HTTP 35
36 Chapter 3: Web Paradigms and Interactivity 3.1! AJAX: Asynchronous Interactivity in the Web! 3.2! Paradigms for Web-Based Communication! 3.3! Reverse AJAX and COMET! 3.4! Web Sockets and Web Messaging! 3.5! Web Workers Literature:!! Mathieu Carbou: Reverse Ajax, Part 1: Introduction to Comet,!! 36
37 Reverse Ajax with HTTP Polling Server event information pulled by client through regular polling! Easily realizable in JavaScript using setinterval()! High network load, imprecise timing 37
38 Reverse Ajax with Piggyback Polling Assuming different needs for information exchange between client and server! Whenever a client-triggered request is processed, additional information about latest server-side events is added to the response 38
39 Reverse Ajax with the Comet Model Proper support for asynchronous server-side events:! Availability of a channel for the server to push information to the client! Server-client connections maintained over a long period of time! Alex Russell 2006 (Blog) Web Applications exist which use server-side events and longlived client-server connections (Gmail GTalk, Meebo)! Lacking a better term, I ve taken to calling this style of eventdriven, server-push data streaming Comet. It doesn t stand for anything, and I m not sure that it should.! Other terms for the same idea: Ajax Push, HTTP Streaming, HTTP server push!» Sometimes also Reverse Ajax... 39
40 Comet Web Application Model 40
41 Connection Management in Comet Comet based on HTTP Streaming:! Single TCP/IP connection kept open between client and server! For instance using the multipart response supported by many browsers!» Origin: server push feature by Netscape in 1995, e.g. to send new versions of an image by the server!» Response is stretched over time! Comet based on Long Polling:! Standard XMLHttpRequest sent by client! Server suspends response until event happens!» Specific programming techniques on server required!» Storing the request context! As soon as client receives response (and processes it), client sends new request (which is suspended again)! Relatively easy to realize with current browsers and XMLHttpRequest 41
42 Reverse Ajax with Comet Client request is suspended at server! Server responds to the request each time a new server-side event happens 42
43 Chapter 3: Web Paradigms and Interactivity 3.1! AJAX: Asynchronous Interactivity in the Web! 3.2! Paradigms for Web-Based Communication! 3.3! Reverse AJAX and COMET! 3.4! Web Sockets and Web Messaging! 3.5! Web Workers Literature:!!! Mathieu Carbou: Reverse Ajax, Part 2: Web Sockets,!
44 General Idea and General Problem Idea:! Web client (browser) communicates at the same time and in the same data space with several different hosts! Security problem: Cross-site scripting! Web application A gets access to data from Web application B! In the worst case including authentication data! Current principle in browsers:! Only one Web application at a time communicates with a browser instance! Being relaxed in new approaches (under security precautions) 44
45 WebSockets Originated in HTML5 (WHAT Working Group)! HTML5 Web Sockets specification! Full-duplex communication channel between client and server! Establishment ( handshake ) client-initiated, over HTTP! One connection for bi-directional communication, very small latency!» sub 500 millisecond latency!» Near real-time!! Able to traverse firewalls and proxies (port 80)! Secure connection can be used (HTTP/S)! WebSockets have been separated out of HTML5! API developed by W3C, protocol ( ws: ) standardized as IETF RFC 6455! Browser support:!» Earlier unsecure version disabled!» RFC 6455 supported in all modern major browsers 45
46 WebSocket Client API (JavaScript) Connect to an endpoint (WebSocket handshake):! var mywebsocket = new WebSocket("ws:// Associate event handlers to established connection:! mywebsocket.addeventlistener("open", function); mywebsocket.addeventlistener("message", function); mywebsocket.addeventlistener("close", function); Send message to server over established connection:! mywebsocket.send("hello"); Disconnect from endpoint:! mywebsocket.close(); Demos: 46
47 Reverse Ajax with WebSockets Simple, low-latency solution! New standard, not yet widely used probably the way to go in future! Abstraction APIs help to keep programs independent of transport! See e.g. socket.io 47
48 Web Messaging HTML5 Web Messaging! Standardized by W3C, driven by Google! Candidate recommendation May 01, 2012! Document A, if knowing about another document B, can send a (text) message to document B (on a different domain)! Specific iframe in document A calls postmessage() referring to domain and window of document B.! Document B can handle the event in event handler! Gets information about origin, which needs to be checked! Document B checks format of message and takes additional precautions! Simple to use, high security risks 48
49 Chapter 3: Web Paradigms and Interactivity 3.1! AJAX: Asynchronous Interactivity in the Web! 3.2! Paradigms for Web-Based Communication! 3.3! Reverse AJAX and COMET! 3.4! Web Sockets and Web Messaging! 3.5! Web Workers Literature:!! B. Lawson, R. Sharp: Introducing HTML5, New Riders
50 Threading in Web Browsers Thread = Sequence of instructions to be executed! Traditionally, Web browsing is single-threaded! Complex Web applications (and multimedia) require multi-threading! Example: Asynchronous interaction in Ajax and Reverse Ajax! Example: Playing back a movie/sound, being still able to control it! Example: Synchronizing a movie with subtitles or animations! Example: Long loading time for multimedia document user has decided to do something else! Example: Independent animations on a single page (content and advertisement)! Web Worker:! Specification for light-weight JavaScript threads in browsers! Originated by WHATWG, now separated from HTML5! Supported e.g. in Safari, Chrome, Opera and Firefox 50
51 Principles for Using Web Workers Creating a new worker:! var worker = new Worker("my_worker.js"); Sending a message to the worker:! worker.postmessage("hello worker"); Receiving a message from the worker:! worker.addeventlistener("message", function, false); function (event) { event.data } What a worker can do:! Communicate, including Web Messaging and Web Sockets! Send and process Ajax requests! Establish timers! Basic JavaScript (but no DOM access)! Web SQL databases! Web Workers (!)! Shared Worker: Working with multiple documents 51
Chapter 2: Interactive Web Applications
Chapter 2: Interactive Web Applications 2.1 Interactivity and Multimedia in the WWW architecture 2.2 Client-Side Multimedia in the Web (Example HTML5) 2.3 Interactive Server-Side Scripting (Example PHP)
Research of Web Real-Time Communication Based on Web Socket
Int. J. Communications, Network and System Sciences, 2012, 5, 797-801 http://dx.doi.org/10.4236/ijcns.2012.512083 Published Online December 2012 (http://www.scirp.org/journal/ijcns) Research of Web Real-Time
AJAX. Gregorio López López [email protected] Juan Francisco López Panea [email protected]
AJAX Gregorio López López [email protected] Juan Francisco López Panea [email protected] Departamento de Ingeniería Telemática Universidad Carlos III de Madrid Contents 1. Introduction 2. Overview
Modern Web Development From Angle Brackets to Web Sockets
Modern Web Development From Angle Brackets to Web Sockets Pete Snyder Outline (or, what am i going to be going on about ) 1.What is the Web? 2.Why the web matters 3.What s unique about
Term Paper. P r o f. D r. E d u a r d H e i n d l. H o c h s c h u l e F u r t w a n g e n U n i v e r s i t y. P r e s e n t e d T o :
Version: 0.1 Date: 20.07.2009 Author(s): Doddy Satyasree AJAX Person responsable: Doddy Satyasree Language: English Term Paper History Version Status Date 0.1 Draft Version created 20.07.2009 0.2 Final
Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf
1 The Web, revisited WEB 2.0 [email protected] Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf 2 The old web: 1994 HTML pages (hyperlinks)
Application layer Web 2.0
Information Network I Application layer Web 2.0 Youki Kadobayashi NAIST They re revolving around the web, after all Name any Internet-related buzz: Cloud computing Smartphone Social media... You ll end
Study of HTML5 WebSocket for a Multimedia Communication
, pp.61-72 http://dx.doi.org/10.14257/ijmue.2014.9.7.06 Study of HTML5 WebSocket for a Multimedia Communication Jin-tae Park 1, Hyun-seo Hwang 1, Jun-soo Yun 1 and Il-young Moon 1 1 School of Computer
Research on Server Push Methods in Web Browser based Instant Messaging Applications
2644 JOURNAL OF SOFTWARE, VOL. 8, NO. 10, OCTOBER 2013 Research on Server Push Methods in Web Browser based Instant Messaging Applications Kai Shuang State Key Laboratory of Network & Switching Technology,
Introduction to web development and JavaScript
Objectives Chapter 1 Introduction to web development and JavaScript Applied Load a web page from the Internet or an intranet into a web browser. View the source code for a web page in a web browser. Knowledge
An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0
An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Rational Application Developer, Version 8.0, contains
CONTENT of this CHAPTER
CONTENT of this CHAPTER v DNS v HTTP and WWW v EMAIL v SNMP 3.2.1 WWW and HTTP: Basic Concepts With a browser you can request for remote resource (e.g. an HTML file) Web server replies to queries (e.g.
HTML5 Websockets with ruby and rails. Saurabh Bhatia, CEO, Safew Labs
HTML5 Websockets with ruby and rails Saurabh Bhatia, CEO, Safew Labs Meet the humble "Websocket" 1. What is it? WebSocket is a technology providing for bi-directional, full-duplex communications channels,
Bayeux Protocol: la nuova frontiera della comunicazione a portata di mano. Relatore Nino Guarnacci
Bayeux Protocol: la nuova frontiera della comunicazione a portata di mano Relatore Nino Guarnacci to understand the phenomenon of Comet and Reverse AJAX, we need to consider why there is a need for it
Web application Architecture
2014 Cesare Pautasso 1 / 29 Very Thin Client 6 / 29 AJAX Input/ Output Prof. Cesare Pautasso http://www.pautasso.info [email protected] Client/Server 7 / 29 @pautasso 5 / 29 Web application Architecture
Mobile Push Architectures
Praktikum Mobile und Verteilte Systeme Mobile Push Architectures Prof. Dr. Claudia Linnhoff-Popien Michael Beck, André Ebert http://www.mobile.ifi.lmu.de WS 2015/2016 Asynchronous communications How to
1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications
1. Introduction 2. Web Application 3. Components 4. Common Vulnerabilities 5. Improving security in Web applications 2 What does World Wide Web security mean? Webmasters=> confidence that their site won
Client-side Web Engineering From HTML to AJAX
Client-side Web Engineering From HTML to AJAX SWE 642, Spring 2008 Nick Duan 1 What is Client-side Engineering? The concepts, tools and techniques for creating standard web browser and browser extensions
Real Time Data Communication over Full Duplex Network Using Websocket
Real Time Data Communication over Full Duplex Network Using Websocket Shruti M. Rakhunde 1 1 (Dept. of Computer Application, Shri Ramdeobaba College of Engg. & Mgmt., Nagpur, India) ABSTRACT : Internet
Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence
Web Development Owen Sacco ICS2205/ICS2230 Web Intelligence Brief Course Overview An introduction to Web development Server-side Scripting Web Servers PHP Client-side Scripting HTML & CSS JavaScript &
Performance Testing for Ajax Applications
Radview Software How to Performance Testing for Ajax Applications Rich internet applications are growing rapidly and AJAX technologies serve as the building blocks for such applications. These new technologies
Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON
Revista Informatica Economică, nr. 4 (44)/2007 45 Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON Iulian ILIE-NEMEDI, Bucharest, Romania, [email protected] Writing a custom web
Introduction to BlackBerry Smartphone Web Development Widgets
Introduction to BlackBerry Smartphone Web Development Widgets Trainer name Date 2009 Research In Motion Limited V1.00 are stand-alone BlackBerry applications that consist of standard web components, including
Web application development landscape: technologies and models
Web application development landscape: technologies and models by Andrea Nicchi Relatore: Prof. Antonio CISTERNINO Controrelatore: Prof. Giuseppe ATTARDI WEB APPLICATION an Information System providing
A Tool for Evaluation and Optimization of Web Application Performance
A Tool for Evaluation and Optimization of Web Application Performance Tomáš Černý 1 [email protected] Michael J. Donahoo 2 [email protected] Abstract: One of the main goals of web application
It is highly recommended that you are familiar with HTML and JavaScript before attempting this tutorial.
About the Tutorial AJAX is a web development technique for creating interactive web applications. If you know JavaScript, HTML, CSS, and XML, then you need to spend just one hour to start with AJAX. Audience
Some Issues on Ajax Invocation
Some Issues on Ajax Invocation I. Introduction AJAX is a set of technologies that together a website to be -or appear to be- highly responsive. This is achievable due to the following natures of AJAX[1]:
WWW. World Wide Web Aka The Internet. dr. C. P. J. Koymans. Informatics Institute Universiteit van Amsterdam. November 30, 2007
WWW World Wide Web Aka The Internet dr. C. P. J. Koymans Informatics Institute Universiteit van Amsterdam November 30, 2007 dr. C. P. J. Koymans (UvA) WWW November 30, 2007 1 / 36 WWW history (1) 1968
CMSC434 TUTORIAL #3 HTML CSS JavaScript Jquery Ajax + Google AppEngine Mobile WebApp HTML5
CMSC434 TUTORIAL #3 HTML CSS JavaScript Jquery Ajax + Google AppEngine Mobile WebApp HTML5 JQuery Recap JQuery source code is an external JavaScript file
http://alice.teaparty.wonderland.com:23054/dormouse/bio.htm
Client/Server paradigm As we know, the World Wide Web is accessed thru the use of a Web Browser, more technically known as a Web Client. 1 A Web Client makes requests of a Web Server 2, which is software
CTIS 256 Web Technologies II. Week # 1 Serkan GENÇ
CTIS 256 Web Technologies II Week # 1 Serkan GENÇ Introduction Aim: to be able to develop web-based applications using PHP (programming language) and mysql(dbms). Internet is a huge network structure connecting
Tutorial básico del método AJAX con PHP y MySQL
1 de 14 02/06/2006 16:10 Tutorial básico del método AJAX con PHP y MySQL The XMLHttpRequest object is a handy dandy JavaScript object that offers a convenient way for webpages to get information from servers
Programming in HTML5 with JavaScript and CSS3
Course 20480B: Programming in HTML5 with JavaScript and CSS3 Course Details Course Outline Module 1: Overview of HTML and CSS This module provides an overview of HTML and CSS, and describes how to use
GUI and Web Programming
GUI and Web Programming CSE 403 (based on a lecture by James Fogarty) Event-based programming Sequential Programs Interacting with the user 1. Program takes control 2. Program does something 3. Program
All You Can Eat Realtime
HTML5 WebSocket: All You Can Eat Realtime By Peter Lubbers, Kaazing May 14, 2010 1 About Peter Lubbers Director of Documentation and Training, Kaazing Co-Founder San Francisco HTML5 User Group http://www.sfhtml5.org/
A Server and Browser-Transparent CSRF Defense for Web 2.0 Applications. Slides by Connor Schnaith
A Server and Browser-Transparent CSRF Defense for Web 2.0 Applications Slides by Connor Schnaith Cross-Site Request Forgery One-click attack, session riding Recorded since 2001 Fourth out of top 25 most
Accessing External Databases from Mobile Applications
CENTER FOR CONVERGENCE AND EMERGING NETWORK TECHNOLOGIES CCENT Syracuse University TECHNICAL REPORT: T.R. 2014-003 Accessing External Databases from Mobile Applications Version 2.0 Authored by: Anirudh
DNS REBINDING DENIS BARANOV, POSITIVE TECHNOLOGIES
DNS REBINDING DENIS BARANOV, POSITIVE TECHNOLOGIES TABLE OF CONTENTS 1 Bypassing The Restrictions 3 2 Putting It into Practice 5 3 Actual Load 7 4 Detection Of The Application Version 5 Guessing A/The
FIVE SIGNS YOU NEED HTML5 WEBSOCKETS
FIVE SIGNS YOU NEED HTML5 WEBSOCKETS A KAAZING WHITEPAPER Copyright 2011 Kaazing Corporation. All rights reserved. FIVE SIGNS YOU NEED HTML5 WEBSOCKETS A KAAZING WHITEPAPER HTML5 Web Sockets is an important
Front-End Performance Testing and Optimization
Front-End Performance Testing and Optimization Abstract Today, web user turnaround starts from more than 3 seconds of response time. This demands performance optimization on all application levels. Client
Upgrade to Microsoft Web Applications
Upgrade to Microsoft Web Applications Description Customers demand beautiful, elegant apps that are alive with activity. Demonstrate your expertise at designing and developing the fast and fluid Store
XML Processing and Web Services. Chapter 17
XML Processing and Web Services Chapter 17 Textbook to be published by Pearson Ed 2015 in early Pearson 2014 Fundamentals of http://www.funwebdev.com Web Development Objectives 1 XML Overview 2 XML Processing
What is AJAX? Ajax. Traditional Client-Server Interaction. What is Ajax? (cont.) Ajax Client-Server Interaction. What is Ajax? (cont.
What is AJAX? Ajax Asynchronous JavaScript and XML Ronald J. Glotzbach Ajax is not a technology Ajax mixes well known programming techniques in an uncommon way Enables web builders to create more appealing
This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.
20486B: Developing ASP.NET MVC 4 Web Applications Course Overview This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications. Course Introduction Course Introduction
Core Ideas CHAPTER 1 PART. CHAPTER 2 Pre-Ajax JavaScript Communications Techniques CHAPTER 3 XMLHttpRequest Object CHAPTER 4 Data Formats
Core Ideas CHAPTER 1 Introduction to Ajax I PART CHAPTER 2 Pre-Ajax JavaScript Communications Techniques CHAPTER 3 XMLHttpRequest Object CHAPTER 4 Data Formats ch01.indd 1 12/5/07 4:59:45 PM blind folio
Developing ASP.NET MVC 4 Web Applications
Course M20486 5 Day(s) 30:00 Hours Developing ASP.NET MVC 4 Web Applications Introduction In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5 tools
Chapter 2: Interactive Web Applications
Chapter 2: Interactive Web Applications 2.1 Interactivity and Multimedia in the WWW architecture 2.2 Interactive Client-Side Scripting for Multimedia (Example HTML5/JavaScript) 2.3 Interactive Server-Side
Internet Technologies_1. Doc. Ing. František Huňka, CSc.
1 Internet Technologies_1 Doc. Ing. František Huňka, CSc. Outline of the Course 2 Internet and www history. Markup languages. Software tools. HTTP protocol. Basic architecture of the web systems. XHTML
Rich-Internet Anwendungen auf Basis von ColdFusion und Ajax
Rich-Internet Anwendungen auf Basis von ColdFusion und Ajax Sven Ramuschkat [email protected] München & Zürich, März 2009 A bit of AJAX history XMLHttpRequest introduced in IE5 used in
Developing ASP.NET MVC 4 Web Applications MOC 20486
Developing ASP.NET MVC 4 Web Applications MOC 20486 Course Outline Module 1: Exploring ASP.NET MVC 4 The goal of this module is to outline to the students the components of the Microsoft Web Technologies
IT3503 Web Development Techniques (Optional)
INTRODUCTION Web Development Techniques (Optional) This is one of the three optional courses designed for Semester 3 of the Bachelor of Information Technology Degree program. This course on web development
Programming IoT Gateways With macchina.io
Programming IoT Gateways With macchina.io Günter Obiltschnig Applied Informatics Software Engineering GmbH Maria Elend 143 9182 Maria Elend Austria [email protected] This article shows how
SUBJECT CODE : 4074 PERIODS/WEEK : 4 PERIODS/ SEMESTER : 72 CREDIT : 4 TIME SCHEDULE UNIT TOPIC PERIODS 1. INTERNET FUNDAMENTALS & HTML Test 1
SUBJECT TITLE : WEB TECHNOLOGY SUBJECT CODE : 4074 PERIODS/WEEK : 4 PERIODS/ SEMESTER : 72 CREDIT : 4 TIME SCHEDULE UNIT TOPIC PERIODS 1. INTERNET FUNDAMENTALS & HTML Test 1 16 02 2. CSS & JAVASCRIPT Test
HTTP. Internet Engineering. Fall 2015. Bahador Bakhshi CE & IT Department, Amirkabir University of Technology
HTTP Internet Engineering Fall 2015 Bahador Bakhshi CE & IT Department, Amirkabir University of Technology Questions Q1) How do web server and client browser talk to each other? Q1.1) What is the common
RTC-Web Security Considerations
RTC-Web Security Considerations IETF 80 Eric Rescorla [email protected] IETF 80 RTC-Web Security Issues 1 The Browser Threat Model Core Web Security Guarantee: users can safely visit arbitrary web sites and
AJAX: Highly Interactive Web Applications. Jason Giglio. [email protected]
AJAX 1 Running head: AJAX AJAX: Highly Interactive Web Applications Jason Giglio [email protected] AJAX 2 Abstract AJAX stands for Asynchronous JavaScript and XML. AJAX has recently been gaining attention
Web Programming Step by Step
Web Programming Step by Step Chapter 10 Ajax and XML for Accessing Data Except where otherwise noted, the contents of this presentation are Copyright 2009 Marty Stepp and Jessica Miller. 10.1: Ajax Concepts
Chapter 12: Advanced topic Web 2.0
Chapter 12: Advanced topic Web 2.0 Contents Web 2.0 DOM AJAX RIA Web 2.0 "Web 2.0" refers to the second generation of web development and web design that facilities information sharing, interoperability,
Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture #3 2008 3 Apache.
JSP, and JSP, and JSP, and 1 2 Lecture #3 2008 3 JSP, and JSP, and Markup & presentation (HTML, XHTML, CSS etc) Data storage & access (JDBC, XML etc) Network & application protocols (, etc) Programming
Cyber Security Workshop Ethical Web Hacking
Cyber Security Workshop Ethical Web Hacking May 2015 Setting up WebGoat and Burp Suite Hacking Challenges in WebGoat Concepts in Web Technologies and Ethical Hacking 1 P a g e Downloading WebGoat and Burp
Software Requirements Specification For Real Estate Web Site
Software Requirements Specification For Real Estate Web Site Brent Cross 7 February 2011 Page 1 Table of Contents 1. Introduction...3 1.1. Purpose...3 1.2. Scope...3 1.3. Definitions, Acronyms, and Abbreviations...3
Introduction to Computer Security
Introduction to Computer Security Web Application Security Pavel Laskov Wilhelm Schickard Institute for Computer Science Modern threat landscape The majority of modern vulnerabilities are found in web
IT3504: Web Development Techniques (Optional)
INTRODUCTION : Web Development Techniques (Optional) This is one of the three optional courses designed for Semester 3 of the Bachelor of Information Technology Degree program. This course on web development
Session D15 Simple Visualization of your TimeSeries Data. Shawn Moe IBM
Session D15 Simple Visualization of your TimeSeries Data Shawn Moe IBM 1 Agenda IoT & Gateways Moving sensor data around jquery and Ajax Data Access Options Open Source Visualization packages 2 Acknowledgements
socketio Documentation
socketio Documentation Release 0.1 Miguel Grinberg January 17, 2016 Contents 1 What is Socket.IO? 3 2 Getting Started 5 3 Rooms 7 4 Responses 9 5 Callbacks 11 6 Namespaces 13 7 Using a Message Queue 15
Position Paper: Toward a Mobile Rich Web Application Mobile AJAX and Mobile Web 2.0
Position Paper: Toward a Mobile Rich Web Application Mobile AJAX and Mobile Web 2.0 Jonathan Jeon, [email protected] Senior Member of Research Staff, ETRI Seungyun Lee, [email protected] Research Director
Scalable and Efficient Web Application Architectures. Thin-clients and SQL vs. Thick-clients and NoSQL
Scalable and Efficient Web Application Architectures Thin-clients and SQL vs. Thick-clients and NoSQL Michael K. Gunnulfsen Master Thesis Spring 2013 Scalable and Efficient Web Application Architectures
Designing and Implementing an Online Bookstore Website
KEMI-TORNIO UNIVERSITY OF APPLIED SCIENCES TECHNOLOGY Cha Li Designing and Implementing an Online Bookstore Website The Bachelor s Thesis Information Technology programme Kemi 2011 Cha Li BACHELOR S THESIS
WebSocket Server. To understand the Wakanda Server side WebSocket support, it is important to identify the different parts and how they interact:
WebSocket Server Wakanda Server provides a WebSocket Server API, allowing you to handle client WebSocket connections on the server. WebSockets enable Web applications (clients) to use the WebSocket protocol
OIT 307/ OIT 218: Web Programming
OIT 307/ OIT 218: Web Programming 1.0 INTRODUCTION Many applications nowadays work really well as a web application. Web programming is the practice of writing applications that run on a web server and
Integrating Web Application Security into the IT Curriculum
Integrating Web Application Security into the IT Curriculum James Walden Northern Kentucky University Topics 1. 2. 3. 4. Why should we teach web application security? What material do we need to cover?
WIDAM - WEB INTERACTION DISPLAY AND MONITORING
WIDAM - WEB INTERACTION DISPLAY AND MONITORING Hugo Gamboa and Vasco Ferreira Escola Superior de Tecnologia de Setúbal Campo do IPS, Estefanilha, 2914-508 Setúbal, Portugal Email: {hgamboa, vferreira}@est.ips.pt
Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led
Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led Course Description In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5
Load Testing Ajax Apps using head-less browser tools. NoVaTAIG April 13, 2011 Gopal Addada and Frank Hurley Cigital Inc.
Load Testing Ajax Apps using head-less browser tools NoVaTAIG April 13, 2011 Gopal Addada and Frank Hurley Cigital Inc. 1 Agenda About Cigital Background : AJAX and Load Test requirements Tools research
Web. Programming. Hans- Pe0er Halvorsen, M.Sc. h0p://home.hit.no/~hansha/?page=sojware_development
h0p://home.hit.no/~hansha/?page=sojware_development Web O. Widder. (2013). geek&poke. Available: h0p://geek- and- poke.com Programming Hans- Pe0er Halvorsen, M.Sc. 1 Web is the Present and the Future 2
1 Introduction: Network Applications
1 Introduction: Network Applications Some Network Apps E-mail Web Instant messaging Remote login P2P file sharing Multi-user network games Streaming stored video clips Internet telephone Real-time video
Web Cloud Architecture
Web Cloud Architecture Introduction to Software Architecture Jay Urbain, Ph.D. [email protected] Credits: Ganesh Prasad, Rajat Taneja, Vikrant Todankar, How to Build Application Front-ends in a Service-Oriented
INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency
INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency 1. 420-PA3-AB Introduction to Computers, the Internet, and the Web This course is an introduction to the computer,
Web Same-Origin-Policy Exploration Lab
Laboratory for Computer Security Education 1 Web Same-Origin-Policy Exploration Lab (Web Application: Collabtive) Copyright c 2006-2011 Wenliang Du, Syracuse University. The development of this document
Centralized logging system based on WebSockets protocol
Centralized logging system based on WebSockets protocol Radomír Sohlich [email protected] Jakub Janoštík [email protected] František Špaček [email protected] Abstract: The era of distributed systems
LabVIEW Internet Toolkit User Guide
LabVIEW Internet Toolkit User Guide Version 6.0 Contents The LabVIEW Internet Toolkit provides you with the ability to incorporate Internet capabilities into VIs. You can use LabVIEW to work with XML documents,
Types of Cloud Computing
Types of Cloud Computing (SaaS)Software as a Service XaaS (PaaS) Platform as a Service (IaaS) Infrastructure as a Service Access to Cloud computing Service Web URL (standard HTTP methods) web brower HTTP
Differences between HTML and HTML 5
Differences between HTML and HTML 5 1 T.N.Sharma, 2 Priyanka Bhardwaj, 3 Manish Bhardwaj Abstract: Web technology is a standard that allow developing web applications with the help of predefined sets of
Introduction to web development
Santiago Canyon College CIS-132: Introduction to JavaScript Lesson 1 Introduction to web development (Chapter 1 in Murach s JavaScript & DOM Scripting textbook) Slide 1 Objectives Applied Load a web page
World-wide online monitoring interface of the ATLAS experiment
World-wide online monitoring interface of the ATLAS experiment S. Kolos, E. Alexandrov, R. Hauser, M. Mineev and A. Salnikov Abstract The ATLAS[1] collaboration accounts for more than 3000 members located
Design Notes for an Efficient Password-Authenticated Key Exchange Implementation Using Human-Memorable Passwords
Design Notes for an Efficient Password-Authenticated Key Exchange Implementation Using Human-Memorable Passwords Author: Paul Seymer CMSC498a Contents 1 Background... 2 1.1 HTTP 1.0/1.1... 2 1.2 Password
How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip
Load testing with WAPT: Quick Start Guide This document describes step by step how to create a simple typical test for a web application, execute it and interpret the results. A brief insight is provided
Web Design Technology
Web Design Technology Terms Found in web design front end Found in web development back end Browsers Uses HTTP to communicate with Web Server Browser requests a html document Web Server sends a html document
HP Business Process Monitor
HP Business Process Monitor For the Windows operating system Software Version: 9.23 BPM Monitoring Solutions Best Practices Document Release Date: December 2013 Software Release Date: December 2013 Legal
Performance Testing Web 2.0. Stuart Moncrieff (Load Testing Guru) www.jds.net.au / www.myloadtest.com
Performance Testing Web 2.0 Stuart Moncrieff (Load Testing Guru) www.jds.net.au / www.myloadtest.com 1 Foundations of Web 2.0 (a history lesson) 1993 The National Center for Supercomputing Applications
WEB DEVELOPMENT COURSE (PHP/ MYSQL)
WEB DEVELOPMENT COURSE (PHP/ MYSQL) COURSE COVERS: HTML 5 CSS 3 JAVASCRIPT JQUERY BOOTSTRAP 3 PHP 5.5 MYSQL SYLLABUS HTML5 Introduction to HTML Introduction to Internet HTML Basics HTML Elements HTML Attributes
Short notes on webpage programming languages
Short notes on webpage programming languages What is HTML? HTML is a language for describing web pages. HTML stands for Hyper Text Markup Language HTML is a markup language A markup language is a set of
Lecture 2. Internet: who talks with whom?
Lecture 2. Internet: who talks with whom? An application layer view, with particular attention to the World Wide Web Basic scenario Internet Client (local PC) Server (remote host) Client wants to retrieve
Web Development. How the Web Works 3/3/2015. Clients / Server
Web Development WWW part of the Internet (others: Email, FTP, Telnet) Loaded to a Server Viewed in a Browser (Client) Clients / Server Client: Request & Render Content Browsers, mobile devices, screen
Step into the Future: HTML5 and its Impact on SSL VPNs
Step into the Future: HTML5 and its Impact on SSL VPNs Aidan Gogarty HOB, Inc. Session ID: SPO - 302 Session Classification: General Interest What this is all about. All about HTML5 3 useful components
