REST & Caching: Web Services, Accelerated
|
|
- Allen Todd
- 6 years ago
- Views:
Transcription
1 REST & Caching: Web Services, Accelerated JAOO 2009 Stefan Tilkov, innoq
2 innoq Deutschland GmbH innoq Schweiz GmbH Halskestraße 17 Gewerbestrasse 11 D Ratingen CH-6330 Cham Phone Phone
3 The REST Uniform Interface identification of resources resource manipulation through representations hypermedia as the engine of application state self-descriptive messages
4 The REST Uniform Interface identification of resources resource manipulation through representations hypermedia as the engine of application state self-descriptive messages
5 The REST Uniform Interface identification of resources resource manipulation through representations hypermedia as the engine of application state self-descriptive messages GET /customers/1234 Host: example.com Accept: application/vnd.mycompany.customer+xml <customer>...</customer> GET /customers/1234 Host: example.com Accept: text/x-vcard begin:vcard... end:vcard
6 The REST Uniform Interface identification of resources resource manipulation through representations hypermedia as the engine of application state self-descriptive messages <order self=' <amount>23</amount> <product ref=' /> <customer ref=' /> <link rel='edit ref=' /> </order>
7 The REST Uniform Interface identification of resources resource manipulation through representations hypermedia as the engine of application state self-descriptive messages Standard Method Media Type GET /service/customers/1234 HTTP 1.1 Host: User-Agent: XYZ 1.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Keep-Alive: 300 Connection: keep-alive If-Modified-Since: Fri, 02 Oct :47:31 GMT If-None-Match:"600028c-59fb-474f6852c9dab" Visibility Cache-Control:max-age=60 HTTP/ OK Date: Sun, 04 Oct :36:25 GMT Server: Apache/ (Debian) Last-Modified:Fri, 02 Oct :47:31 GMT Control Etag: "600028c-59fb-474f6852c9dab" Cache-Control: max-age=300 Accept-Ranges: bytes Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 7160 Keep-Alive: timeout=15, max=91 Data Connection: Keep-Alive Content-Type: application/xml <?xml version= 1.0 encoding= utf-8?>... Data
8 getorderdetails() submitapplicationdata() updatequote() findmatchingbid() initiateprocess() cancelsubscription() listauctions() getusers()
9 getorderdetails() findmatchingbid() GET listauctions() initiateprocess() submitapplicationdata() POST getusers() PUT DELETE updatequote() cancelsubscription()
10 interface Resource { Resource(URI u) Response get() Response post(request r) Response put(request r) Response delete() } generic Any HTTP client (Firefox, IE, curl, wget) Any HTTP server Caches Proxies Google, Yahoo!, MSN class CustomerCollection : Resource {... Response post(request r) { id = createcustomer(r) return new Response(201, r) }... } Anything that knows your app specific
11 Caching Models Note: Thanks to Ryan Tomayko for letting me steal base some work on his diagrams from
12 !"#$%&!'()$ *'(+$%, -./012$"(34$ -./012$"(34$ (3,$0&305$%,06'(+ 78$""3093:",70)$:$ ;<<0=> 8$""3093:", ;<<0=> 8$""3093:",!"#$%&!'()$ *'(+$%,
13 Expiration
14 !"#$%&!'()$ *'(+$%, -./012$"(34$ -./012$"(34$ 56$""30738",5 6$""30738",G!"#$%&!'()$ *'(+$%,
15 !"# $%&'(!%&)(*+,-./01(2&"3(.'45/+"(5/*"6/'%77(*/ /#(&%95(/6'(/&%&'(/45/:;(5'< AB(C/D> $%&'(E$"*6;"2C/3%FE%B(GH>> I(22"/J";2+<!"# $%&'(!%&)(*+
16 Validation
17 !"#$% &'$(% )'$*%+, -./012%"$34% -./012%"$34% 5%+%6'7%08'"#,'7369: ;<%""30=36",; <%""30=36", <%""30=36",!"#$% &'$(% )'$*%+,
18 !"# $%&'(!%&)(*+,-./01(2&"3(,-./01(2&"3( =MM/?N -.%F:/%C(DEE%5+ P(22"/Q"G2+!"# $%&'(!%&)(*+
19 Combination
20 !"#$% &'$(% )'$*%+, -./012%"$34% -./012%"$34% 5%+%6'7%08'"#,'7369: ;<%""30=36",; &'$(%B&3+763"C04'DB'5%EF? <%""30=36", &'$(%B&3+763"C04'DB'5%EF? <%""30=36",!"#$% &'$(% )'$*%+,
21 !"# $%&'(!%&)(*+,-./01(2&"3(.'45/+"(5/*"6/'%77(*/ /#(&%95(/6'(/&%&'(/45/:;(5'< $%&'(A$"*6;"2B/3%CA%D(EF> GD(B/H> I%56AJ"+4:4(+B/.9(K/=L/?&6888 M(22"/N";2+!"# $%&'(!%&)(*+
22 !"#$%!"&'( )"&*(+, -./012(%&$3( -./012(%&$3( Q(%%$0R$#%,!"#$%!"&'( )"&*(+,
23 Implementation
24 !"#$%&!'()$ *$+,-$./$. 0#"$,-12&$3 4'(5,6%7 *.#&$,0#"$ 869,:;$"(<3$ 869,:;$"(<3$ =$'7,0#"$ =$&>.%,0#"$,!<%&$%&2 =$&>.%,=$2?<%2$!"#$%&!'()$ *$+,-$./$. 0#"$,-12&$3 4'(5,6%7
25 Apache FileETag FileETag INode MTime Size date and time the file was last modified number of bytes in the file file's i-node number
26 ETag Depth
27 !"#$%&!'()$ *$%$+#(,-.'/,*$%$+'&0+ 1'(2,-%3 *-.,45$"(06$ *-.,45$"(06$ *-.,45$"(06$ 7$&8+%,7$9:0%9$!06:8&$,-.'/ 7$&8+%,7$9:0%9$,;,-.'/ 7$&8+%,7$9:0%9$!"#$%&!'()$ *$%$+#(,-.'/,*$%$+'&0+ 1'(2,-%3
28 !"#$%&!'()$ *+',&-.'(/-0% $"(6+$ $"(6+$ 7$&8,%-7$9:6%9$ -;-03'< 7$&8,%-7$9:6%9$!"#$%&!'()$ *+',&-.'(/-0%1
29 !"#$%&!'()$ *+',&-.'(/-0% $"(6+$ $"(6+$ 7$&8,%-7$9:6%9$ $"(6+$ $"(6+$ 7$&8,%-7$9:6%9$!"#$%&!'()$ *+',&-.'(/-0%1
30 Edge Side Includes (ESI)
31 <esi:include src=" alt=" onerror="continue"/> <esi:include src="
32 !"#$% &$'!"()* &"(+,-./ 0-1,23& 0-1,23& 4*56#.,4*78$.7* 4*56#.,4*78$.7* 0-1,23! 0-1,23! 4*56#.,4*78$.7* 4*56#.,4*78$.7*!"#$% &$'!"()* &"(+,-./
33 !"# $%&'(.+/*01!.+/*01 2(345,*2(67",6( +/%89*:%;(<==%>-: 1885(8%3(*1*E*! 2(345,*2(67",6(!"# $%&'(!%&)*+,-!%&)*+,-
34 !"# $%&'(.+/*01!.+/*01*-"(2*,"3*'%44(,* *#(&%62(*3'(*&%&'(*72*89(2':.+/*0$ 1;;9(;%3(*1*<*$ =(369,*=(24",2(!"# $%&'(!%&)*+,-!%&)*+,-
35 Cache Topologies
36 Client Cache Client Client Cache Server Client Cache Server Client Cache Client Client only Proxy Cache Client Cache Client Client Cache Cache Server Client Cache Server Client Client Client Cache Reverse Proxy Cache Complex Topology
37 Server Client Client Server Cache Server Client Server "Cache as ESB"
38 Web Sites vs. Web Services
39 Application Layers Presentation/UI Browser Data Formatting View Control Flow Aggregate Logic Business Rules Relations Controller Model Lib Utility Functions Data (create, select, update, delete) Database
40 App Layers & Resources Presentation/UI Browser REST Client Data Formatting View Control Flow Aggregate Logic Business Rules Relations Controller Model Lib Utility Functions Data (create, select, update, delete) Database
41 Single Resource Model Browser (Other) REST Client Everything doable Application via UI Resource becomes doable via API Resource Resource UI Backend = API
42 Intermediaries
43 Squid Full proxy cache w/ reverse proxy option Mature/stable/old, widely used Complicated configuration Support for ESI Support for external invalidation (PURGE) (Experimental) support for cache channels (much, much more)
44 mod_cache mod_cache module for Apache HTTPD 2.x (production-ready in 2.2) backends: mod_mem_cache and mod_disk_cache Runs within Apache process Simple solution in conjunction with Passenger No support for ESI or explicit invalidation
45 <VirtualHost > ServerName example.com <Location /images> ExpiresActive On ExpiresDefault A3600 </Location> <Location /user> ExpiresActive On ExpiresDefault "access plus 1 month" </Location> CacheEnable disk /images CacheRoot /var/www/cache ProxyPass / ProxyPassReverse / </VirtualHost>
46 Varnish Pure in-memory reverse proxy Disk storage through OS swap mechanism (Partial) ESI support External invalidation VCL configuration language Easy configuration
47 sub vcl_recv { if (req.request!= "GET" && req.request!= "HEAD" && req.request!= "PUT" && req.request!= "POST" && req.request!= "TRACE" && req.request!= "OPTIONS" && req.request!= "DELETE") { /* Non-RFC2616 or CONNECT which is weird. */ return (pipe); } if (req.request!= "GET" && req.request!= "HEAD") { /* We only deal with GET and HEAD by default */ return (pass); } if (req.http.authorization req.http.cookie) { /* Not cacheable by default */ return (pass); } return (lookup); } VCL Hook vcl_recv vcl_pipe vcl_pass vcl_hit vcl_miss vcl_fetch vcl_deliver vcl_timeout vcl_discard Meaning Called at the beginning of a request Called upon entering pipe mode Called upon entering pass mode Called after a cache lookup if the requested document was found in the cache Called after a cache lookup if the requested document was not found in the cache Called after a document has been successfully retrieved from the backend Called before a cached object is delivered to the client Called by the reaper thread shortly before a cached document reaches its expiry time Called by the reaper thread when a cached document is about to be discarded
48 Rack::Cache Runs within Ruby process Cross-process synchronization via memcached Absurdly simple + transparent config.middleware.use(rack::cache, :verbose => true, :metastore => 'file:/var/cache/rack/meta', :entitystore => 'file:/var/cache/rack/body')
49 Clients
50 Cache-aware HTTP Clients Note: Conditional GET does not require anything special Your browser and news reader.net (HttpWebRequest) Python httplib2 HttpCache4J
51 So what?
52 How to Exploit HTTP Caching 1. Provide safe resource access via GET 2. Include appropriate validation and cache control headers 3. Leave caching to a reverse proxy cache 4. Use conditional GET on the client 5. Profit :-)
53 I do think the REST-afarians are missing an opportunity by not driving home the secret sauce that is HTTP GET. [ ] GET is one of the most optimized pieces of distributed systems plumbing in the world. It's an absolute/objective slam dunk. No arguing/evangelism needed IMO. GET is the classic the first bag is free kind of feature a platform builder dreams about. Don Box, Co-inventor of SOAP
54 Stefan Tilkov Thank you! Any questions? Architectural Consulting SOA WS-* REST MDA MDSD MDE J(2)EE RoR.NET
55 Backup
56 Turning Session State R1 Client 1 Server R1 R2 Rn Client 2 R2 State Client 1 State Client 2 Server State Representation
57 into Resource or Client State Client 1 C1 R1 C1 C1 Server C1 R1 R2 C2 C2 Rn Client 2 R2 C2 C2 State Client 1 State Client 2 Server State Representation
58 Resources Nothingham, Mark: The State of Proxy Caching Nottingham, Mark: The State of Browser Caching Nottingham, Mark: Caching Tutorial Squid, Nottingham, Mark: Cache Channels for Squid The Varnish Project, Varnish: Notes from the Architect Tomoyako, Ryan: Things Caches Do W3C, ESI Language Specification Apache HTTP 2.2 Caching Guide
Using REST for SOA Stefan Tilkov, QCon SF 2010
Using REST for SOA Stefan Tilkov, QCon SF 2010 Stefan Tilkov stefan.tilkov@innoq.com http://www.innoq.com/blog/st/ @stilkov innoq Deutschland GmbH innoq Schweiz GmbH Halskestraße 17 Gewerbestrasse 11 D-40880
More informationPragmatic SOA Beyond Buzzwords and Flamewars. Stefan Tilkov, -
Pragmatic SOA Beyond Buzzwords and Flamewars Stefan Tilkov, innoq @stilkov - http://www.innoq.com/blog/st/ 1 Some Claims 2 Some Recommendations 3 Claim: Application architecture is irrelevant for your
More informationA Pragmatic Introduction to REST. Stefan Tilkov,
A Pragmatic Introduction to REST Stefan Tilkov, stefan.tilkov@innoq.com Stefan Tilkov http://www.innoq.com stefan.tilkov@innoq.com http://www.innoq.com/blog/st/ http://www.infoq.com Audience Poll How many
More informationREST for SOA. Stefan Tilkov, innoq Deutschland GmbH
REST for SOA Stefan Tilkov, innoq Deutschland GmbH stefan.tilkov@innoq.com Contents An Introduction to REST Why REST Matters REST And Web Services Recommendations Stefan Tilkov http://www.innoq.com stefan.tilkov@innoq.com
More informationREST & JSR 311. Stefan Tilkov, innoq Deutschland GmbH November 2008
REST & JSR 311 Stefan Tilkov, innoq Deutschland GmbH stefan.tilkov@innoq.com November 2008 1 Stefan Tilkov Geschäftsführer und Principal Consultant, innoq Deutschland GmbH Fokus auf SOA, Web-Services,
More informationinnoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel
innoq Deutschland GmbH innoq Schweiz GmbH D-40880 Ratingen CH-6330 Cham Tel +49 2102 77 1620 Tel +41 41 743 01 11 www.innoq.com Stefan Tilkov, stefan.tilkov@innoq.com 1 Goals Introduce MDE, MDA, MDD, MDSD,...
More informationREST: I don't Think it Means What You Think it Does. Stefan
REST: I don't Think it Means What You Think it Does Stefan Tilkov @stilkov REST: An architectural style defined by the constraints Client-Server, Stateless Communication, Caching, Uniform Interface, Layered
More informationStefan Tilkov innoq Deutschland GmbH REST + JSR 311 Java API for RESTful Web Services
Stefan Tilkov innoq Deutschland GmbH stefan.tilkov@innoq.com REST + JSR 311 Java API for RESTful Web Services Contents An Introduction to REST Why REST Matters REST And Web Services JSR 311 Intro Demo
More informationAbout 1. Chapter 1: Getting started with varnish 2. Remarks 2. Versions 2. Examples 2. Installation or Setup 2. CentOS 7 2. Ubuntu 2.
varnish #varnish Table of Contents About 1 Chapter 1: Getting started with varnish 2 Remarks 2 Versions 2 Examples 2 Installation or Setup 2 CentOS 7 2 Ubuntu 2 Debian 3 Varnish VCL 3 Chapter 2: Building
More informationJAX-RS: REST, the Java Way. Stefan Tilkov,
JAX-RS: REST, the Java Way Stefan Tilkov, stefan.tilkov@innoq.com 1 Contents An Introduction to REST Why REST Matters JSR 311 Overview Demo What s Next 2 Stefan Tilkov stefan.tilkov@innoq.com http://www.innoq.com/blog/st/
More informationA Brief Introduction to REST
A Brief Introduction to REST Posted by Stefan Tilkov on Dec 10, 2007 03:42 AM Community Architecture,SOA Topics Enterprise Architecture, REST You may or may not be aware that there is debate going on about
More informationAkamai Connector for Varnish Installation Guide
Akamai Connector for Varnish Installation Guide Table of Contents 1 Introduction 3 2 Installation 4 2.1 Overview 4 2.2 Varnish Plus Installation 4 2.2.1 Ubuntu Installation 4 2.2.2 Redhat Enterprise Linux
More informationVarnish. - a server-side http cache. Poul-Henning Kamp.
Varnish - a server-side http cache Poul-Henning Kamp phk@freebsd.org dictionary:varnish tr. v. var nished, var nish ing, var nish es To cover with varnish. To give a smooth and glossy finish to. To give
More informationA Pragmatic Introduction to REST
A Pragmatic Introduction to REST QCon London 2008 Stefan Tilkov, stefan.tilkov@innoq.com 1 Stefan Tilkov http://www.innoq.com stefan.tilkov@innoq.com http://www.innoq.com/blog/st/ http://www.infoq.com
More informationINF5750. RESTful Web Services
INF5750 RESTful Web Services Recording Audio from the lecture will be recorded! Will be put online if quality turns out OK Outline REST HTTP RESTful web services HTTP Hypertext Transfer Protocol Application
More informationProxying. Why and How. Alon Altman. Haifa Linux Club. Proxying p.1/24
Proxying p.1/24 Proxying Why and How Alon Altman alon@haifux.org Haifa Linux Club Proxying p.2/24 Definition proxy \Prox"y\, n.; pl. Proxies. The agency for another who acts through the agent; authority
More informationFOSHttpCache Documentation
FOSHttpCache Documentation Release 1.0.0 David Buchmann, David de Boer June 02, 2014 Contents 1 Getting started 3 1.1 Installation................................................ 3 1.2 Configuration...............................................
More informationREST Easy with Infrared360
REST Easy with Infrared360 A discussion on HTTP-based RESTful Web Services and how to use them in Infrared360 What is REST? REST stands for Representational State Transfer, which is an architectural style
More informationThe State of REST vs. SOA
The State of REST vs. SOA BeJUG Enterprise SOA 07 Stefan Tilkov, innoq Who am I? Stefan Tilkov stefan.tilkov@innoq.com http://www.innoq.com/blog/st/ http://www.innoq.com http://www.infoq.com REST vs....?
More informationVarnish Cache. White Paper. Web Application Accelerator
Varnish Cache White Paper Web Application Accelerator Varnish Cache is a web application accelerator that is installed in front of any web or application server using the HTTP protocol. Varnish Cache then
More informationREST API s in a CA Plex context. API Design and Integration into CA Plex landscape
REST API s in a CA Plex context API Design and Integration into CA Plex landscape Speaker Software Architect and Consultant at CM First AG, Switzerland since 2008 having 30+ years of experience with the
More informationREST A brief introduction
REST A brief introduction Juergen Brendel What is it good for? Something with networks: APIs Interactions Distributed systems? All contents Copyright 2010, Mulesoft Inc. 2 Getting more popular All contents
More informationENTERPRISE SOA CONFERENCE
BELGIAN JAVA USER GROUP PRESENTS ENTERPRISE SOA CONFERENCE 2 4 O c t o b e r 2 0 0 6, D e M o n t i l, A f f l i g e m REST - the Better Web Services Model Stefan Tilkov Founder & Principal Consultant
More informationRKN 2015 Application Layer Short Summary
RKN 2015 Application Layer Short Summary HTTP standard version now: 1.1 (former 1.0 HTTP /2.0 in draft form, already used HTTP Requests Headers and body counterpart: answer Safe methods (requests): GET,
More informationHTTP Server Application
1 Introduction You are to design and develop a concurrent TCP server that implements the HTTP protocol in the form of what is commonly called a web server. This server will accept and process HEAD and
More informationThe HTTP protocol. Fulvio Corno, Dario Bonino. 08/10/09 http 1
The HTTP protocol Fulvio Corno, Dario Bonino 08/10/09 http 1 What is HTTP? HTTP stands for Hypertext Transfer Protocol It is the network protocol used to delivery virtually all data over the WWW: Images
More informationFOSHttpCache Documentation
FOSHttpCache Documentation Release 1.0.0 David Buchmann, David de Boer Dec 21, 2017 Contents 1 Getting started 3 1.1 Installation................................................ 3 1.2 Configuration...............................................
More informationAssignment, part 2. Statement and concepts INFO-0010
Assignment, part 2 Statement and concepts INFO-0010 Outline Statement Implementation of concepts Objective Mastermind game using HTTP GET and HTTP POST methods The platform Architecture Root page ("/")
More informationReST 2000 Roy Fielding W3C
Outline What is ReST? Constraints in ReST REST Architecture Components Features of ReST applications Example of requests in REST & SOAP Complex REST request REST Server response Real REST examples REST
More informationYioop Full Historical Indexing In Cache Navigation. Akshat Kukreti
Yioop Full Historical Indexing In Cache Navigation Akshat Kukreti Agenda Introduction History Feature Cache Page Validation Feature Conclusion Demo Introduction Project goals History feature for enabling
More informationLife on the Edge with ESI. Kit Chan Custom Branded Experiences Yahoo!
Life on the Edge with ESI Kit Chan (kichan@yahoo-inc.com) Custom Branded Experiences Yahoo! World Cup Penalty Shootout Royal Wedding Cybergeddon Life on the Edge Source: http://img.shockblast.net/2012/01/shockblast-4-803109.jpg
More information04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6
04 Webservices Web APIs REST Coulouris chp.9 Roy Fielding, 2000 Chp 5/6 Aphrodite, 2002 http://www.xml.com/pub/a/2004/12/01/restful-web.html http://www.restapitutorial.com Webservice "A Web service is
More informationREST. And now for something completely different. Mike amundsen.com
REST And now for something completely different Mike Amundsen @mamund amundsen.com Preliminaries Mike Amundsen Developer, Architect, Presenter Hypermedia Junkie I program the Internet Designing Hypermedia
More informationReal Life Web Development. Joseph Paul Cohen
Real Life Web Development Joseph Paul Cohen joecohen@cs.umb.edu Index 201 - The code 404 - How to run it? 500 - Your code is broken? 200 - Someone broke into your server? 400 - How are people using your
More informationCaching. Caching Overview
Overview Responses to specific URLs cached in intermediate stores: Motivation: improve performance by reducing response time and network bandwidth. Ideally, subsequent request for the same URL should be
More informationYahoo Traffic Server -a Powerful Cloud Gatekeeper
Yahoo Traffic Server -a Powerful Cloud Gatekeeper Shih-Yong Wang Yahoo! Taiwan 2010 COSCUP Aug 15, 2010 What is Proxy Caching? Proxy Caching explicit client configuration transparent emulate responses
More informationCORS Attacks. Author: Milad Khoshdel Blog: P a g e. CORS Attacks
Author: Milad Khoshdel Blog: https://blog.regux.com Email: miladkhoshdel@gmail.com 1 P a g e Contents What is CORS?...3 How to Test?...4 CORS Checker Script...6 References...9 2 P a g e What is CORS? CORS
More informationTACACS Support APIs. curl -k -v -u "admin:cisco123" -H Accept:application/vnd.yang.data+xml -H ContentType:application/vnd.yang.
Table 1: Action Method Payload Required API To configure TACACS server POST Yes To configure TACACS server PUT Yes To configure TACACS server DELETE No To view TACACS server configuration GET No Example:
More informationHigh performance and scalable architectures
High performance and scalable architectures A practical introduction to CQRS and Axon Framework Allard Buijze allard.buijze@trifork.nl Allard Buijze Software Architect at Trifork Organizers of GOTO & QCON
More informationBuilding next-gen Web Apps with WebSocket. Copyright Kaazing Corporation. All rights reserved.
Building next-gen Web Apps with WebSocket Copyright 2011 - Kaazing Corporation. All rights reserved. Who am I? Graham Gear Solution Architect, with Kaazing, purveyors of HTML5 enabling tech Based in London,
More informationIntercepting Web Requests
This chapter contains the following sections: Overview of, on page 1 Tasks for, on page 1 Best Practices for, on page 2 Web Proxy Options for, on page 3 Client Options for Redirecting Web Requests, on
More informationHTTP and Web Content Delivery
HTTP and Web Content Delivery COS 461: Computer Networks Spring 2011 Mike Freedman hgp://www.cs.princeton.edu/courses/archive/spring11/cos461/ 2 Outline Layering HTTP HTTP conneclon management and caching
More informationCSE 333 Lecture HTTP
CSE 333 Lecture 19 -- HTTP Hal Perkins Department of Computer Science & Engineering University of Washington Administrivia Server-side programming exercise due Wed. morning HW4 due a week later - How s
More informationCIT 668: System Architecture. Caching
CIT 668: System Architecture Caching Topics 1. Cache Types 2. Web Caching 3. Replacement Algorithms 4. Distributed Caches 5. memcached A cache is a system component that stores data so that future requests
More informationCSCI-1680 WWW Rodrigo Fonseca
CSCI-1680 WWW Rodrigo Fonseca Based partly on lecture notes by Scott Shenker and John Jannotti Precursors 1945, Vannevar Bush, Memex: a device in which an individual stores all his books, records, and
More informationCSCI-1680 WWW Rodrigo Fonseca
CSCI-1680 WWW Rodrigo Fonseca Based partly on lecture notes by Sco2 Shenker and John Janno6 Administrivia HW3 out today Will cover HTTP, DNS, TCP TCP Milestone II coming up on Monday Make sure you sign
More informationCS 355. Computer Networking. Wei Lu, Ph.D., P.Eng.
CS 355 Computer Networking Wei Lu, Ph.D., P.Eng. Chapter 2: Application Layer Overview: Principles of network applications? Introduction to Wireshark Web and HTTP FTP Electronic Mail SMTP, POP3, IMAP DNS
More informationSession 8. Reading and Reference. en.wikipedia.org/wiki/list_of_http_headers. en.wikipedia.org/wiki/http_status_codes
Session 8 Deployment Descriptor 1 Reading Reading and Reference en.wikipedia.org/wiki/http Reference http headers en.wikipedia.org/wiki/list_of_http_headers http status codes en.wikipedia.org/wiki/_status_codes
More informationCS 43: Computer Networks. HTTP September 10, 2018
CS 43: Computer Networks HTTP September 10, 2018 Reading Quiz Lecture 4 - Slide 2 Five-layer protocol stack HTTP Request message Headers protocol delineators Last class Lecture 4 - Slide 3 HTTP GET vs.
More informationReal World Web Scalability. Ask Bjørn Hansen Develooper LLC
Real World Web Scalability Ask Bjørn Hansen Develooper LLC Hello. 28 brilliant methods to make your website keep working past $goal requests/transactions/sales per second/hour/day Requiring minimal extra
More informationExecutive Summary. Performance Report for: The web should be fast. Top 1 Priority Issues. How does this affect me?
The web should be fast. Executive Summary Performance Report for: http://instantwebapp.co.uk/8/ Report generated: Test Server Region: Using: Fri, May 19, 2017, 4:01 AM -0700 Vancouver, Canada Firefox (Desktop)
More informationWEB TECHNOLOGIES CHAPTER 1
WEB TECHNOLOGIES CHAPTER 1 WEB ESSENTIALS: CLIENTS, SERVERS, AND COMMUNICATION Modified by Ahmed Sallam Based on original slides by Jeffrey C. Jackson THE INTERNET Technical origin: ARPANET (late 1960
More informationExecutive Summary. Performance Report for: https://edwardtbabinski.us/blogger/social/index. The web should be fast. How does this affect me?
The web should be fast. Executive Summary Performance Report for: https://edwardtbabinski.us/blogger/social/index Report generated: Test Server Region: Using: Analysis options: Tue,, 2017, 4:21 AM -0400
More informationHTTP Reading: Section and COS 461: Computer Networks Spring 2013
HTTP Reading: Section 9.1.2 and 9.4.3 COS 461: Computer Networks Spring 2013 1 Recap: Client-Server Communication Client sometimes on Initiates a request to the server when interested E.g., Web browser
More informationWWW, REST, and Web Services
WWW, REST, and Web Services Instructor: Yongjie Zheng Aprile 18, 2017 CS 5553: Software Architecture and Design World Wide Web (WWW) What is the Web? What challenges does the Web have to address? 2 What
More informationApplication Level Protocols
Application Level Protocols 2 Application Level Protocols Applications handle different kinds of content e.g.. e-mail, web pages, voice Different types of content require different kinds of protocols Application
More informationExecutive Summary. Performance Report for: The web should be fast. Top 4 Priority Issues
The web should be fast. Executive Summary Performance Report for: https://www.wpspeedupoptimisation.com/ Report generated: Test Server Region: Using: Tue,, 2018, 12:04 PM -0800 London, UK Chrome (Desktop)
More informationCoding Intro to APIs and REST
DEVNET-3607 Coding 1001 - Intro to APIs and REST Matthew DeNapoli DevNet Developer Evangelist Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1. Find this session
More informationProduced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar
Mobile Application Development Higher Diploma in Science in Computer Science Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology
More informationPolicies to Resolve Archived HTTP Redirection
Policies to Resolve Archived HTTP Redirection ABC XYZ ABC One University Some city email@domain.com ABSTRACT HyperText Transfer Protocol (HTTP) defined a Status code (Redirection 3xx) that enables the
More informationIntroduction to Internet, Web, and TCP/IP Protocols SEEM
Introduction to Internet, Web, and TCP/IP Protocols SEEM 3460 1 Local-Area Networks A Local-Area Network (LAN) covers a small distance and a small number of computers LAN A LAN often connects the machines
More informationScalable applications with HTTP
Scalable applications with HTTP Patrice Neff, co-founder Memonic patrice@memonic.com twitter.com/pneff 20100407 memonic Memonic Founded in 2009 Your personal digital notebook Easy web research Try it out
More informationWeb Services Week 10
Web Services Week 10 Emrullah SONUÇ Department of Computer Engineering Karabuk University Fall 2017 1 Recap BPEL Process in Netbeans RESTful Web Services Introduction to Rest Api 2 Contents RESTful Web
More informationImprove Web Application Performance with Zend Platform
Improve Web Application Performance with Zend Platform Shahar Evron Zend Sr. PHP Specialist Copyright 2007, Zend Technologies Inc. Agenda Benchmark Setup Comprehensive Performance Multilayered Caching
More informationAgenda. Introduction. Supported Formats. Creating a Custom REST Service. What s Next
Using the ArcGIS Server REST API Jeremy Bartley Keyur Shah Agenda Introduction Design and Concepts Supported Formats REST API Admin Creating a Custom REST Service What s New (Since 9.3) What s Next Conclusion
More informationScalability, Performance & Caching
COMP 150-IDS: Internet Scale Distributed Systems (Spring 2018) Scalability, Performance & Caching Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah Copyright
More informationCSE 333 Lecture HTTP
CSE 333 Lecture 19 -- HTTP Hal Perkins Paul G. Allen School of Computer Science & Engineering University of Washington Administrivia HW4 due a week from Thursday - How s it look? Today: http; finish networking/web
More informationREST Web Services Objektumorientált szoftvertervezés Object-oriented software design
REST Web Services Objektumorientált szoftvertervezés Object-oriented software design Dr. Balázs Simon BME, IIT Outline HTTP REST REST principles Criticism of REST CRUD operations with REST RPC operations
More informationIBM Security Access Manager Version January Federation Administration topics IBM
IBM Security Access Manager Version 9.0.2.1 January 2017 Federation Administration topics IBM IBM Security Access Manager Version 9.0.2.1 January 2017 Federation Administration topics IBM ii IBM Security
More informationJust relax - take some 90 minutes of ReST
Just relax - take some 90 minutes of ReST Markku Laitkorpi Nokia Research Center 4.10.2007 TUT 1 V1-Filename.ppt / yyyy-mm-dd / Initials Prologue: Why should I care? My WS tools can generate a nice SOAP
More informationCNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies
CNIT 129S: Securing Web Applications Ch 3: Web Application Technologies HTTP Hypertext Transfer Protocol (HTTP) Connectionless protocol Client sends an HTTP request to a Web server Gets an HTTP response
More informationSeminar on. By Sai Rahul Reddy P. 2/2/2005 Web Caching 1
Seminar on By Sai Rahul Reddy P 2/2/2005 Web Caching 1 Topics covered 1. Why Caching 2. Advantages of Caching 3. Disadvantages of Caching 4. Cache-Control HTTP Headers 5. Proxy Caching 6. Caching architectures
More informationWeb Robots Platform. Web Robots Chrome Extension. Web Robots Portal. Web Robots Cloud
Features 2016-10-14 Table of Contents Web Robots Platform... 3 Web Robots Chrome Extension... 3 Web Robots Portal...3 Web Robots Cloud... 4 Web Robots Functionality...4 Robot Data Extraction... 4 Robot
More information7 Topics Concerning Languages & Architecture Stefan JUG KA 2011
7 Topics Concerning Languages & Architecture Stefan Tilkov @stilkov JUG KA 2011 1 http://www.innoq.com Stefan Tilkov stefan.tilkov@innoq.com @stilkov 2 http://rest-http.info 3 1. Language Equality 4 Languages
More informationDrupal Frontend Performance & Scalability
Riverside Drupal Meetup @ Riverside.io August 14, 2014 Christefano Reyes christo@larks.la, @christefano Who's Your Presenter? Who's Your Presenter? Why We Care About Performance Who's Your Presenter? Why
More informationScalability, Performance & Caching
COMP 150-IDS: Internet Scale Distributed Systems (Spring 2015) Scalability, Performance & Caching Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah Copyright
More informationCS 43: Computer Networks. Layering & HTTP September 7, 2018
CS 43: Computer Networks Layering & HTTP September 7, 2018 Last Class: Five-layer Internet Model Application: the application (e.g., the Web, Email) Transport: end-to-end connections, reliability Network:
More informationIntroduction to Cisco TV CDS Software APIs
CHAPTER 1 Cisco TV Content Delivery System (CDS) software provides two sets of application program interfaces (APIs): Monitoring Real Time Streaming Protocol (RTSP) Stream Diagnostics The Monitoring APIs
More informationAbout the Tutorial. Audience. Prerequisites. Copyright & Disclaimer
About the Tutorial The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. This is the foundation for data communication
More informationThe Architecture of the World Wide Web
The Architecture of the World Wide Web Laboratory of Computer Technologies L-A Laboratorio di Tecnologie Informatiche L-A Giulio Piancastelli & Andrea Omicini {giulio.piancastelli, andrea.omicini}@unibo.it
More informationHTTP, REST Web Services
HTTP, REST Web Services Martin Ledvinka martin.ledvinka@fel.cvut.cz Winter Term 2018 Martin Ledvinka (martin.ledvinka@fel.cvut.cz) HTTP, REST Web Services Winter Term 2018 1 / 36 Contents 1 HTTP 2 RESTful
More informationDesigning RESTful Web Applications. Ben Ramsey
Designing RESTful Web Applications Ben Ramsey About Me Proud father of 3-month-old Sean Organizer of Atlanta PHP user group Founder of PHP Groups Founding principal of PHP Security Consortium Original
More informationServices Web Nabil Abdennadher
Services Web Nabil Abdennadher nabil.abdennadher@hesge.ch 1 Plan What is Web Services? SOAP/WSDL REST http://www.slideshare.net/ecosio/introduction-to-soapwsdl-and-restfulweb-services/14 http://www.drdobbs.com/web-development/restful-web-services-a-tutorial/
More informationFeatures of a proxy server: - Nowadays, by using TCP/IP within local area networks, the relaying role that the proxy
Que: -Proxy server Introduction: Proxy simply means acting on someone other s behalf. A Proxy acts on behalf of the client or user to provide access to a network service, and it shields each side from
More informationHashCookies A Simple Recipe
OWASP London Chapter - 21st May 2009 HashCookies A Simple Recipe Take a cookie Add some salt Add a sequence number John Fitzpatrick Full paper at http://labs.mwrinfosecurity.com Structure What are hashcookies
More informationDistributed Systems Principles and Paradigms. Chapter 12: Distributed Web-Based Systems
Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science steen@cs.vu.nl Chapter 12: Distributed -Based Systems Version: December 10, 2012 Distributed -Based Systems
More informationA Library and Proxy for SPDY
A Library and Proxy for SPDY Interdisciplinary Project Andrey Uzunov Chair for Network Architectures and Services Department of Informatics Technische Universität München April 3, 2013 Andrey Uzunov (TUM)
More informationNotes beforehand... For more details: See the (online) presentation program.
Notes beforehand... Notes beforehand... For more details: See the (online) presentation program. Topical overview: main arcs fundamental subjects advanced subject WTRs Lecture: 2 3 4 5 6 7 8 Today: the
More informationNasuni Data API Nasuni Corporation Boston, MA
Nasuni Corporation Boston, MA Introduction The Nasuni API has been available in the Nasuni Filer since September 2012 (version 4.0.1) and is in use by hundreds of mobile clients worldwide. Previously,
More informationThe Architecture of the World Wide Web
The Architecture of the World Wide Web Distributed Systems L-A Sistemi Distribuiti L-A Andrea Omicini after Giulio Piancastelli andrea.omicini@unibo.it Ingegneria Due Alma Mater Studiorum Università di
More informationCacheControl Documentation
CacheControl Documentation Release 0.12.4 Eric Larson May 01, 2018 Contents 1 Install 3 2 Quick Start 5 3 Tests 7 4 Disclaimers 9 4.1 Using CacheControl........................................... 9 4.2
More informationA Framework For Transitioning Enterprise Web Services From XML-RPC to REST
Association for Information Systems AIS Electronic Library (AISeL) CONF-IRM 2009 Proceedings International Conference on Information Resources Management (CONF-IRM) 5-2009 A Framework For Transitioning
More informationApplication Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017
CSC 401 Data and Computer Communications Networks Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017 Outline Application Layer (ch 2) 2.1 principles of network applications 2.2
More informationIntroduc)on to Computer Networks
Introduc)on to Computer Networks COSC 4377 Lecture 3 Spring 2012 January 25, 2012 Announcements Four HW0 s)ll missing HW1 due this week Start working on HW2 and HW3 Re- assess if you found HW0/HW1 challenging
More informationApplied Architectures
Applied Architectures Software Architecture Lecture 17 Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Objectives Illustrate how principles have been used to solve
More informationSession 9. Deployment Descriptor Http. Reading and Reference. en.wikipedia.org/wiki/http. en.wikipedia.org/wiki/list_of_http_headers
Session 9 Deployment Descriptor Http 1 Reading Reading and Reference en.wikipedia.org/wiki/http Reference http headers en.wikipedia.org/wiki/list_of_http_headers http status codes en.wikipedia.org/wiki/http_status_codes
More informationWeb server reconnaissance
Web server reconnaissance Reconnaissance and fingerprinting Finding information about a target web server/web site May be illegal to perform reconnaissance on a web server and web site without prior approval/permission.
More informationREST API Developer Preview
REST API Developer Preview Dave Carroll Developer Evangelist dcarroll@salesforce.com @dcarroll Alex Toussaint Sr. Product Manager atoussaint@salesforce.com @alextoussaint Safe Harbor Safe harbor statement
More informationLecture 7b: HTTP. Feb. 24, Internet and Intranet Protocols and Applications
Internet and Intranet Protocols and Applications Lecture 7b: HTTP Feb. 24, 2004 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu WWW - HTTP/1.1 Web s application layer protocol
More informationNasuni Data API Nasuni Corporation Boston, MA
Nasuni Corporation Boston, MA Introduction The Nasuni API has been available in the Nasuni Filer since September 2012 (version 4.0.1) and is in use by hundreds of mobile clients worldwide. Previously,
More information