Application layer Web 2.0

Similar documents
1. When will an IP process drop a datagram? 2. When will an IP process fragment a datagram? 3. When will a TCP process drop a segment?

Network Technologies

Internet Technologies. World Wide Web (WWW) Proxy Server Network Address Translator (NAT)

Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture # Apache.

WWW. World Wide Web Aka The Internet. dr. C. P. J. Koymans. Informatics Institute Universiteit van Amsterdam. November 30, 2007


World Wide Web. Before WWW

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

CONTENT of this CHAPTER

HTTP. Internet Engineering. Fall Bahador Bakhshi CE & IT Department, Amirkabir University of Technology

The Web History (I) The Web History (II)

reference: HTTP: The Definitive Guide by David Gourley and Brian Totty (O Reilly, 2002)

Domain Name System (DNS)

World Wide Web Aka The Internet. Karst Koymans. Friday, October 2, 2015

Computer Networks. Lecture 7: Application layer: FTP and HTTP. Marcin Bieńkowski. Institute of Computer Science University of Wrocław

Hypertext for Hyper Techs

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

Domain Name System WWW. Application Layer. Mahalingam Ramkumar Mississippi State University, MS. September 15, 2014.

Data Communication I

IT3504: Web Development Techniques (Optional)

IT3503 Web Development Techniques (Optional)

The Web: some jargon. User agent for Web is called a browser: Web page: Most Web pages consist of: Server for Web is called Web server:

10CS73:Web Programming

Internet Technologies Internet Protocols and Services

Outline Definition of Webserver HTTP Static is no fun Software SSL. Webserver. in a nutshell. Sebastian Hollizeck. June, the 4 th 2013

People Data and the Web Forms and CGI CGI. Facilitating interactive web applications

Web Programming. Robert M. Dondero, Ph.D. Princeton University

Lecture 2. Internet: who talks with whom?

Evolution of the WWW. Communication in the WWW. WWW, HTML, URL and HTTP. HTTP Abstract Message Format. The Client/Server model is used:

LabVIEW Internet Toolkit User Guide

Table of Contents. Open-Xchange Authentication & Session Handling. 1.Introduction...3

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ MEng. Nguyễn CaoĐạt

INTERNET DOMAIN NAME SYSTEM

Instructor: Betty O Neil

Web application development landscape: technologies and models

COURSE CONTENT FOR WINTER TRAINING ON Web Development using PHP & MySql

Basic Internet programming Formalities. Hands-on tools for internet programming

HTTP Protocol. Bartosz Walter

SUBJECT CODE : 4074 PERIODS/WEEK : 4 PERIODS/ SEMESTER : 72 CREDIT : 4 TIME SCHEDULE UNIT TOPIC PERIODS 1. INTERNET FUNDAMENTALS & HTML Test 1

Chapter 2: Interactive Web Applications

Web Development. How the Web Works 3/3/2015. Clients / Server

Fachgebiet Technische Informatik, Joachim Zumbrägel

Cyber Security Workshop Ethical Web Hacking

1 Introduction: Network Applications

CTIS 256 Web Technologies II. Week # 1 Serkan GENÇ

Protocolo HTTP. Web and HTTP. HTTP overview. HTTP overview

Lektion 2: Web als Graph / Web als System

How to Run an Apache HTTP Server With a Protocol

APACHE HTTP SERVER 2.2.8

CloudOYE CDN USER MANUAL

Performance Testing for Ajax Applications

Modern Web Development From Angle Brackets to Web Sockets

The Application Layer. CS158a Chris Pollett May 9, 2007.

Common definitions and specifications for OMA REST interfaces

A Model of the Operation of The Model-View- Controller Pattern in a Rails-Based Web Server

sessionx Desarrollo de Aplicaciones en Red Web Applications History (1) Content History (2) History (3)

TCP/IP Networking An Example

Title page. Alcatel-Lucent 5620 SERVICE AWARE MANAGER 13.0 R7

11.1 THE WORLD WIDE WEB

Chapter 27 Hypertext Transfer Protocol

Evolution of the WWW. Communication in the WWW. WWW, HTML, URL and HTTP. HTTP - Message Format. The Client/Server model is used:

Project #2. CSE 123b Communications Software. HTTP Messages. HTTP Basics. HTTP Request. HTTP Request. Spring Four parts

By Bardia, Patit, and Rozheh

Lab - Observing DNS Resolution

Introduction to web development and JavaScript

Web applications. Web security: web basics. HTTP requests. URLs. GET request. Myrto Arapinis School of Informatics University of Edinburgh

Web Development. Laboratório de Bases de Dados e Aplicações Web MIEIC, FEUP 14/15. Sérgio Nunes

The following multiple-choice post-course assessment will evaluate your knowledge of the skills and concepts taught in Internet Business Associate.

Research of Web Real-Time Communication Based on Web Socket

The Hyper-Text Transfer Protocol (HTTP)

CS615 - Aspects of System Administration

CIT 380: Securing Computer Systems

Architecture of So-ware Systems HTTP Protocol. Mar8n Rehák

DreamFactory & Modus Create Case Study

Bug Report. Date: March 19, 2011 Reporter: Chris Jarabek

Configuring DNS. Finding Feature Information

jfingerprint Datasheet

V Series Rapid Deployment Version 7.5

Oct 15, Internet : the vast collection of interconnected networks that all use the TCP/IP protocols

Web Foundations Series Internet Business Associate

Distributed Systems. 09. Naming. Paul Krzyzanowski. Rutgers University. Fall 2015

HOST EUROPE CLOUD STORAGE REST API DEVELOPER REFERENCE

(WAPT) Web Application Penetration Testing

Web Architecture I u

Introduction to Computer Security

Distributed Systems. 22. Naming Paul Krzyzanowski. Rutgers University. Fall 2013

02267: Software Development of Web Services

1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications

Spectrum Technology Platform

HTTP - METHODS. Same as GET, but transfers the status line and header section only.

Contents. 2 Alfresco API Version 1.0

CHAPTER. Ajax Defined. Chapter Objectives

Internet Technologies_1. Doc. Ing. František Huňka, CSc.

Application-layer protocols

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

Outline. CIW Web Design Specialist. Course Content

Designing RESTful Web Applications

Terminology. Internet Addressing System

Web Application Development

Security Testing For RESTful Applications

Transcription:

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 up struggling with the web 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 2

Outline Web technology stack Web technology standards URI, URL The web protocol: HTTP Web browser, server Web 2.0 standards, implications Web 2.0 browsers JSON, DOM HTTP in Web 2.0 Mashups 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 3 Web technology stack Resource locator User identifier Web server Web protocol Data format <a/> Web client (browser etc.) Markup language Host identifier 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 4

Web technology standards Resource locator: URL User identifier Web server <a/> Web client (browser etc.) Markup language: HTML CSS Web protocol: HTTP Host identifier: DNS Data format: XML 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 5 Addressing vs naming: its resolution naist.jp Named objects Name resolution Addressable objects 2001:200:16a:8::230 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 6

DNS: domain name system Single global tree for hostname to IP resolution Hierarchical delegation Root. gtld: generic top-level domain.com.net.org.biz.info cctld: country code top-level domain.jp.th.ch.fr Secondary level domains co.jp, ac.jp, go.jp 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 7 DNS: distributed DB of records. IN NS a.root-servers.net! Root zone jp. IN NS a.dns.jp!!.jp zone.com zone naist.jp. IN NS ns.naist.jp naist.jp zone www IN A 163.221.8.230! IN AAAA 2001:200:16a:8::230 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 8

Uniform Resource Locator RFC 1738: Uniform Resource Locators locate resources by providing an abstract identification of the resource location <scheme>:<scheme-specific-part> ftp File Transfer protocol http Hypertext Transfer Protocol gopher The Gopher protocol mailto Electronic mail address file Host-specific file names Common Internet Scheme Syntax //<user>:<password>@<host>:<port>/<url-path> 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 9 Uniform Resource Identifier RFC 3986: Uniform Resource Identifier URI, URN and URL URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ] hier-part = "//" authority path-abempty / path-absolute / path-rootless / path-empty foo://example.com:8042/over/there?name=ferret#nose \_/ \ /\ / \ / \ / scheme authority path query fragment / \ / \ urn:example:animal:ferret:nose 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 10

The web protocol: HTTP RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1 HTTP client Initiator Request method URI Protocol version Request modifier Client information Body content Status line protocol version success/error code Server information Entity meta-information Entity-body content HTTP server Responder 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 11 Protocol characteristics of HTTP Almost stateless Safe methods meant to be free from side effects GET, HEAD Idempotent methods repeated requests w/o side effects GET, HEAD, PUT, DELETE State management with cookies -- RFC 6265 Multimedia Media Types -- RFC 2046 Content adaptation through Request modifier Multilingual: Accept-Language, Accept-Charset Tailoring: User-Agent 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 12

HTTP client HTTP in action GET / HTTP/1.0 HTTP server HTTP/1.1 302 Found Date: Mon, 24 May 2010 09:28:07 GMT Server: Apache/2.0.63 (Unix) DAV/2 mod_ssl/2.0.63 OpenSSL/0.9.7d Content-Length: 330 Content-Type: text/html; charset=iso-8859-1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><body> <p>the document has moved <a href="http://isw3.naist.jp/home-ja.html">here</a>.</p><hr> </body></html> GET /home-ja.html HTTP/1.0 HTTP/1.1 200 OK Date: Mon, 24 May 2010 09:30:53 GMT 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 13 HTTP eases implementation & debugging Clients: Web browser telnet 1-line program Test program HTTP client Proxies: Logging Instrumentation Testing Analysis HTTP proxy Servers: Web server 1-line program Test program HTTP server GET / HTTP/1.1 GET / HTTP/1.0 HTTP/1.0 302 Found HTTP/1.0 302 Found Example: WebScarab 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 14

Functional components of Web browser Protocols URL, Data Data Type, click DOM Render JavaScript Frame Event Widget GUI DOM: Document Object Model 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 15 Functional components of Web server Authorization security Authentication Content filtering proxy Storage mapping CGI Name translation Modules Request processing Configuration HTTP Protocol Network connection For more detailed study, see for example The Apache Modeling Project from Hasso-Plattner Institute 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 16

Web 2.0 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 17 Web 2.0 technology standards Web client programming model JavaScript language: ECMA-262 Browser as a collection of component objects Document object: W3C DOM level 2 Protocol object: W3C XMLHttpRequest Data types XML JSON: JavaScript Object Notification Collectively called AJAX Asynchronous JavaScript and XML 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 18

Web 2.0 technology implications Rich web application made possible Progressive update of displayed information DOM level 2 Client-server interaction without page transition JavaScript, XMLHttpRequest Structured data XML, JSON Emergence of Software as a Service SaaS 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 19 Functional components of Web 2.0 browser URL, Data Protocols Data XHR DOM level 2 Type, click Render Frame Event Widget GUI update update JavaScript For more detailed study, see for example Rapid Application Development with Mozilla by Nigel McFarlane 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 20

JSON RFC 4627: The application/json Media Type for JavaScript Object Notation A text format for the serialization of structured data Four primitive types: string, number, boolean, null Two structured types: object, array JSON object: { "Image": { "Width": 800, "Height": 600, "Title": "View from 15th Floor", "Thumbnail": { } } "Url": "Height": 125, "Width": "100" "http://bit.ly/", }, "IDs": [116, 943, 234, 38793] JSON array 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 21 DOM example by Firebug 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 22

Functional components of Web 2.0 server Authorization security Authentication Content filtering proxy Storage mapping CGI Name translation Modules Request processing Configuration HTTP Protocol Network connection No difference at server side 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 23 HTTP in action, Web 2.0 Browser GET / HTTP/1.1 Web server n a i st Enter Page Page GET /complete/search?q=n&cp=1 HTTP/1.1 GET /complete/search?q=na&cp=1 HTTP/1.1 GET /complete/search?q=nai&cp=1 HTTP/1.1 GET /complete/search?q=naist&cp=1 HTTP/1.1 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 24

Mashups Client-side mashup Web site A Web site B Web site C DOM + JavaScript Browser Browser UI Server-side mashup Web site A Web site B Browser Web site C Server 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 25 Client-side mash-up example 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 26

Server-side mash-up example 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 27 Web 2.0 technology standards Resource locator: URL User identifier: OpenID Web server <a/> Markup: HTML CSS Web client: JavaScript DOM XHR Web protocol: HTTP 1.1 Host identifier: DNS Data format: XML JSON 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 28

Evolving web standards IETF W3C WHATWG OASIS 2015/5/29 Copyright(C) 2015 Youki Kadobayashi. All rights reserved. 29