Web Services. Lecture III. Valdas Rapševičius Vilnius University Faculty of Mathematics and Informatics
|
|
- Emil Gibbs
- 5 years ago
- Views:
Transcription
1 Web Services Lecture III Valdas Rapševičius Vilnius University Faculty of Mathematics and Informatics
2 Outline Web Architecture Internet HTTP URI Hypermedia ROA Principles Hypermedia Best practices Metadata Valdas Rapševičius. Web Services 2
3 Success of Web Internet HTTP URI Hypertext Valdas Rapševičius. Web Services 3
4 Internet Valdas Rapševičius. Web Services 4
5 Transport: TCP/IP TCP: Transmission Control Protocol Error-free data transportation In-order delivery Unsegmented data stream IP: Internet Protocol (IPv4, IPv6) Addressing by IP numbers Relaying datagrams Valdas Rapševičius. Web Services 5
6 Transport by Example Valdas Rapševičius. Web Services 6
7 TCP/IP Packet Valdas Rapševičius. Web Services 7
8 TPC/IP Connection Timeline Valdas Rapševičius. Web Services 8
9 HTTP Hypertext Transfer Protocol The Internet s Multimedia Courier An application layer protocol Reliable? Uses reliable transport! Resources: RFC 2616: IETF HTTP/1.1 RFC RFC 4229: HTTP Header Field Registrations HTTP/1.1: Header Field Definitions Valdas Rapševičius. Web Services 9
10 HTTP Versions HTTP/0.9 (1991) Supports only the GET method Does not support MIMEs, headers, or versions HTTP/1.0 (1991) Version numbers, headers, additional methods, and multimedia object handling HTTP/1.0+ (mid-1990s) Long-lasting keepalive connections, virtual hosting support, and proxy connection support HTTP/1.1 (late-1990s) Semantics specification, performance optimizations, and removing mis-features De-facto current version of HTTP. HTTP-NG (a.k.a. HTTP/2.0) A prototype proposal for an architectural successor to HTTP/1.1 Focuses on performance optimizations and a more powerful framework for remote execution of server logic Valdas Rapševičius. Web Services 10
11 Web Architecture Web Servers Host web resources (source of web content) Proxies HTTP intermediaries that sit between clients and servers Caches HTTP storehouses that keep copies of popular web pages close to clients Gateways Special web servers that connect to other applications Tunnels Special proxies that blindly forward HTTP communications Agents (aka Clients) Semi-intelligent web clients that make automated HTTP requests Valdas Rapševičius. Web Services 11
12 HTTP: Messages Valdas Rapševičius. Web Services 12
13 Telnet Example Valdas Rapševičius. Web Services 13
14 HTTP: Message Parts Method The action that the client wants the server to perform on the resource. It is a single word, like GET, HEAD, or POST Request-URL A complete URL naming the requested resource, or the path component of the URL Version The version of HTTP that the message is using. Its format looks like: HTTP/<major>.<minor> where major and minor both are integers Status-code A three-digit number describing what happened during the request. The first digit of each code describes the general class of status ( success, error, etc.). Reason-phrase A human-readable version of the numeric status code, consisting of all the text until the end-of-line sequence. The reason phrase is meant solely for human consumption, so, for example, response lines containing HTTP/ NOT OK and HTTP/ OK. Headers Zero or more headers, each of which is a name, followed by a colon (:), followed by optional whitespace, followed by a value, followed by a CRLF. The headers are terminated by a blank line (CRLF), marking the end of the list of headers and the beginning of the entity body. Entity-body The entity body contains a block of arbitrary data. Not all messages contain entity bodies, so sometimes a message terminates with a bare CRLF Valdas Rapševičius. Web Services 14
15 HTTP: Methods Valdas Rapševičius. Web Services 15
16 HTTP: Status Code Valdas Rapševičius. Web Services 16
17 200 OK Success Status Codes Standard response for successful HTTP requests. 201 Created The request has been fulfilled and resulted in a new resource being created. 202 Accepted The request has been accepted for processing, but the processing has not been completed. The request might or might not eventually be acted upon, as it might be disallowed when processing actually takes place. 203 Non-Authoritative Information (since HTTP/1.1) The server successfully processed the request, but is returning information that may be from another source. 204 No Content The server successfully processed the request, but is not returning any content. 205 Reset Content The server successfully processed the request, but is not returning any content. Unlike a 204 response, this response requires that the requester reset the document view. 206 Partial Content The server is delivering only part of the resource due to a range header sent by the client. The range header is used by tools like wget to enable resuming of interrupted downloads, or split a download into multiple simultaneous streams Valdas Rapševičius. Web Services 17
18 Redirection Status Codes (1) 300 Multiple Choices Indicates multiple options for the resource that the client may follow. It, for instance, could be used to present different format options for video, list files with different extensions, or word sense disambiguation. 301 Moved Permanently This and all future requests should be directed to the given URI 302 Found This is an example of industry practice contradicting the standard. The HTTP/1.0 specification (RFC 1945) required the client to perform a temporary redirect (the original describing phrase was "Moved Temporarily") but popular browsers implemented 302 with the functionality of a 303 See Other. Therefore, HTTP/1.1 added status codes 303 and 307 to distinguish between the two behaviours. However, some Web applications and frameworks use the 302 status code as if it were the See Other (since HTTP/1.1) The response to the request can be found under another URI using a GET method. When received in response to a POST (or PUT/DELETE), it should be assumed that the server has received the data and the redirect should be issued with a separate GET message. 304 Not Modified Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-Match. This means that there is no need to retransmit the resource, since the client still has a previously-downloaded copy Valdas Rapševičius. Web Services 18
19 Redirection Status Codes (2) 305 Use Proxy (since HTTP/1.1) The requested resource is only available through a proxy, whose address is provided in the response. 306 Switch Proxy No longer used. Originally meant "Subsequent requests should use the specified proxy." 307 Temporary Redirect (since HTTP/1.1) In this case, the request should be repeated with another URI; however, future requests should still use the original URI. In contrast to how 302 was historically implemented, the request method is not allowed to be changed when reissuing the original request. For instance, a POST request should be repeated using another POST request. 308 Permanent Redirect (approved as experimental RFC) The request, and all future requests should be repeated using another URI. 307 and 308 (as proposed) parallel the behaviour of 302 and 301, but do not allow the HTTP method to change. So, for example, submitting a form to a permanently redirected resource may continue smoothly Valdas Rapševičius. Web Services 19
20 301 Example Valdas Rapševičius. Web Services 20
21 304 Example Valdas Rapševičius. Web Services 21
22 Client Error Codes (1) 400 Bad Request The request cannot be fulfilled due to bad syntax 401 Unauthorized Similar to 403 Forbidden, but specifically for use when authentication is required and has failed or has not yet been provided. The response must include a WWW-Authenticate header field containing a challenge applicable to the requested resource. 402 Payment Required Reserved for future use. The original intention was that this code might be used as part of some form of digital cash or micropayment scheme, but that has not happened, and this code is not usually used. YouTube uses this status if a particular IP address has made excessive requests, and requires the person to enter a CAPTCHA. 403 Forbidden The request was a valid request, but the server is refusing to respond to it. Unlike a 401 Unauthorized response, authenticating will make no difference. On servers where authentication is required, this commonly means that the provided credentials were successfully authenticated but that the credentials still do not grant the client permission to access the resource (e.g. a recognized user attempting to access restricted content). 404 Not Found The requested resource could not be found but may be available again in the future. 405 Method Not Allowed A request was made of a resource using a request method not supported by that resource; for example, using GET on a form which requires data to be presented via POST, or using PUT on a read-only resource Valdas Rapševičius. Web Services 22
23 Client Error Codes (2) 406 Not Acceptable The requested resource is only capable of generating content not acceptable according to the Accept headers sent in the request. 407 Proxy Authentication Required The client must first authenticate itself with the proxy. 408 Request Timeout The server timed out waiting for the request. According to W3 HTTP specifications: "The client did not produce a request within the time that the server was prepared to wait. The client MAY repeat the request without modifications at any later time." 409 Conflict Indicates that the request could not be processed because of conflict in the request, such as an edit conflict. 410 Gone Indicates that the resource requested is no longer available and will not be available again. This should be used when a resource has been intentionally removed and the resource should be purged. Upon receiving a 410 status code, the client should not request the resource again in the future. Clients such as search engines should remove the resource from their indices. Most use cases do not require clients and search engines to purge the resource, and a "404 Not Found" may be used instead. 411 Length Required The request did not specify the length of its content, which is required by the requested resource Valdas Rapševičius. Web Services 23
24 Client Error Codes (3) 412 Precondition Failed The server does not meet one of the preconditions that the requester put on the request. 413 Request Entity Too Large The request is larger than the server is willing or able to process. 414 Request-URI Too Long The URI provided was too long for the server to process. 415 Unsupported Media Type The request entity has a media type which the server or resource does not support. For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format. 416 Requested Range Not Satisfiable The client has asked for a portion of the file, but the server cannot supply that portion. For example, if the client asked for a part of the file that lies beyond the end of the file. 417 Expectation Failed The server cannot meet the requirements of the Expect request-header field Valdas Rapševičius. Web Services 24
25 Server Error Codes 500 Internal Server Error A generic error message, given when no more specific message is suitable. 501 Not Implemented The server either does not recognize the request method, or it lacks the ability to fulfill the request. 502 Bad Gateway The server was acting as a gateway or proxy and received an invalid response from the upstream server. 503 Service Unavailable The server is currently unavailable (because it is overloaded or down for maintenance). Generally, this is a temporary state. 504 Gateway Timeout The server was acting as a gateway or proxy and did not receive a timely response from the upstream server. 505 HTTP Version Not Supported The server does not support the HTTP protocol version used in the request Valdas Rapševičius. Web Services 25
26 HTTP Headers General headers These are generic headers used by both clients and servers. They serve general purposes that are useful for clients, servers, and other applications to supply to one another. Request headers As the name implies, request headers are specific to request messages. They provide extra information to servers, such as what type of data the client is willing to receive. Response headers Response messages have their own set of headers that provide information to the client Entity headers Entity headers refer to headers that deal with the entity body. For instance, entity headers can tell the type of the data in the entity body. Extension headers Extension headers are nonstandard headers that have been created by application developers but not yet added to the sanctioned HTTP specification. HTTP programs need to tolerate and forward extension headers, even if they don t know what the headers mean Valdas Rapševičius. Web Services 26
27 General Headers General Request Informational Accept Conditional Security Proxy Response Informational Negotiation Security Entity Informational Contents Caching Extension Valdas Rapševičius. Web Services 27
28 General Headers (1) Date The date and time that the message was sent Date: Tue, 15 Nov :12:31 GMT Connection What type of connection the user-agent would prefer Connection: keep-alive Trailer The Trailer general field value indicates that the given set of header fields is present in the trailer of a message encoded with chunked transfer-coding. Trailer: Max-Forwards Transfer-Encoding The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity. Transfer-Encoding: chunked Valdas Rapševičius. Web Services 28
29 General Headers (2) Upgrade Via Ask the client/server to upgrade to another protocol. Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11 Informs the server of proxies through which the request was sent. Via: 1.0 fred, 1.1 example.com (Apache/1.1) Cache-Control Used to specify directives that MUST be obeyed by all caching mechanisms along the request/response chain Cache-Control: no-cache Pragma Implementation-specific headers that may have various effects anywhere along the requestresponse chain. Pragma: no-cache Valdas Rapševičius. Web Services 29
30 General Headers General Request Informational Accept Conditional Security Proxy Response Informational Negotiation Security Entity Informational Contents Caching Extension Valdas Rapševičius. Web Services 30
31 Request Informational Headers From Host The address of the user making the request From: The domain name of the server (for virtual hosting), and the TCP port number on which the server is listening. The port number may be omitted if the port is the standard port for the service requested.[5] Mandatory since HTTP/1.1. Although domain name are specified as caseinsensitive,[6][7] it is not specified whether the contents of the Host field should be interpreted in a case-insensitive manner[8] and in practice some implementations of virtual hosting interpret the contents of the Host field in a case-sensitive manner.[citation needed] Host: en.wikipedia.org:80 Host: mif.vu.lt Referer This is the address of the previous web page from which a link to the currently requested page was followed. (The word referrer is misspelled in the RFC as well as in most implementations.) Referer: Valdas Rapševičius. Web Services 31
32 Non-standard Request Informational Headers These headers are not defined in RFC 2616 but are implemented by many HTTP client applications: Client-IP Provides the IP address of the machine on which the client is running UA-Color Provides information about the color capabilities of the client machine s display UA-CPU Gives the type or manufacturer of the client s CPU UA-Disp Provides information about the client s display (screen) capabilities UA-OS Gives the name and version of operating system running on the client machine UA-Pixels Provides pixel information about the client machine s display Valdas Rapševičius. Web Services 32
33 Request Accept Headers Accept Content-Types that are acceptable Accept: text/plain Accept-Charset Character sets that are acceptable Accept-Charset: utf-8 Accept-Encoding Acceptable encodings. Accept-Encoding: gzip, deflate Accept-Language Acceptable human languages for response Accept-Language: en-us Accept-Datetime TE Acceptable version in time Accept-Datetime: Thu, 31 May :35:00 GMT The transfer encodings the user agent is willing to accept: the same values as for the response header Transfer-Encoding can be used, plus the "trailers" value (related to the "chunked" transfer method) to notify the server it expects to receive additional headers (the trailers) after the last, zero-sized, chunk. TE: trailers, deflate Valdas Rapševičius. Web Services 33
34 Request Conditional Headers Expect Indicates that particular server behaviors are required by the client Expect: 100-continue If-Match Only perform the action if the client supplied entity matches the same entity on the server. This is mainly for methods like PUT to only update a resource if it has not been modified since the user last updated it. If-Match: "737060cd8c284d8af7ad3082f209582d" If-Modified-Since Allows a 304 Not Modified to be returned if content is unchanged If-Modified-Since: Sat, 29 Oct :43:31 GMT If-None-Match Allows a 304 Not Modified to be returned if content is unchanged If-None-Match: "737060cd8c284d8af7ad3082f209582d" If-Range If the entity is unchanged, send me the part(s) that I am missing; otherwise, send me the entire new entity If-Range: "737060cd8c284d8af7ad3082f209582d" If-Unmodified-Since Only send the response if the entity has not been modified since a specific time. If-Unmodified-Since: Sat, 29 Oct :43:31 GMT Valdas Rapševičius. Web Services 34
35 Request Security & Proxy Headers Authorization Authentication credentials for HTTP authentication Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== Cookie An HTTP cookie previously sent by the server with Set-Cookie Cookie: $Version=1; Skin=new; Proxy-Authorization Authorization credentials for connecting to a proxy. Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== Max-Forwards Limit the number of times the message can be forwarded through proxies or gateways Max-Forwards: Valdas Rapševičius. Web Services 35
36 General Headers General Request Informational Accept Conditional Security Proxy Response Informational Negotiation Security Entity Informational Contents Caching Extension Valdas Rapševičius. Web Services 36
37 Response Informational Headers Age The age the object has been in a proxy cache in seconds Age: 12 Retry-After If an entity is temporarily unavailable, this instructs the client to try again after a specified period of time (seconds). Retry-After: 120 Server A name for the server Server: Apache/2.4.1 (Unix) Warning A general warning about possible problems with the entity body. Warning: 199 Miscellaneous warning Valdas Rapševičius. Web Services 37
38 Response Negotiation Headers Accept-Ranges Vary What partial content range types this server supports Accept-Ranges: bytes Tells downstream proxies how to match future request headers to decide whether the cached response can be used rather than requesting a fresh one from the origin server. Vary: * Valdas Rapševičius. Web Services 38
39 Response Security Headers Set-Cookie An HTTP cookie Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1 Proxy-Authenticate Request authentication to access the proxy. Proxy-Authenticate: Basic WWW-Authenticate Indicates the authentication scheme that should be used to access the requested entity. WWW-Authenticate: Basic Valdas Rapševičius. Web Services 39
40 General Headers General Request Informational Accept Conditional Security Proxy Response Informational Negotiation Security Entity Informational Contents Caching Extension Valdas Rapševičius. Web Services 40
41 Entity Informational Headers Allow Valid actions for a specified resource. To be used for a 405 Method not allowed Allow: GET, HEAD Location Used in redirection, or when a new resource has been created Location: Valdas Rapševičius. Web Services 41
42 Entity Content Headers (1) Content-Encoding The type of encoding used on the data. Content-Encoding: gzip Content-Language The language the content is in Content-Language: da Content-Length The length of the response body in octets (8-bit bytes) Content-Length: 348 Content-Location An alternate location for the returned data Content-Location: /index.htm Valdas Rapševičius. Web Services 42
43 Entity Content Headers (2) Content-Location An alternate location for the returned data Content-Location: /index.htm Content-MD5 A Base64-encoded binary MD5 sum of the content of the response Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ== Content-Disposition An opportunity to raise a "File Download" dialogue box for a known MIME type with binary format or suggest a filename for dynamic content. Quotes are necessary with special characters. Content-Disposition: attachment; filename="fname.ext" Content-Range Where in a full body message this partial message belongs Content-Range: bytes /47022 Content-Type The MIME type of this content Content-Type: text/html; charset=utf Valdas Rapševičius. Web Services 43
44 Entity Caching Headers Etag An identifier for a specific version of a resource, often a message digest ETag: "737060cd8c284d8af7ad3082f209582d" Expires Gives the date/time after which the response is considered stale Expires: Thu, 01 Dec :00:00 GMT Last-Modified The last modified date for the requested object, in RFC 2822 format Last-Modified: Tue, 15 Nov :45:26 GMT Valdas Rapševičius. Web Services 44
45 Caching Valdas Rapševičius. Web Services 45
46 Caching: Workflow Valdas Rapševičius. Web Services 46
47 Cache: If-Modified-Since Valdas Rapševičius. Web Services 47
48 Entity Tags: ETag Valdas Rapševičius. Web Services 48
49 Basic Authentication (1) Valdas Rapševičius. Web Services 49
50 Basic Authentication (2) Valdas Rapševičius. Web Services 50
51 Digest Authentication Valdas Rapševičius. Web Services 51
52 Secure HTTP Valdas Rapševičius. Web Services 52
53 Public Key Encryption Valdas Rapševičius. Web Services 53
54 SSL process (1) Valdas Rapševičius. Web Services 54
55 SSL process (2) Valdas Rapševičius. Web Services 55
56 Content Encoding Valdas Rapševičius. Web Services 56
57 Range Request Valdas Rapševičius. Web Services 57
58 Entity Tags Valdas Rapševičius. Web Services 58
59 HTTP Entities Messages Are Crates, Entities Are Cargo Content Type: MIME (Multipurpose Internet Mail Extensions) Type or Content-Type text/plain (type/subtype) New type registration Procedure RFC Valdas Rapševičius. Web Services 59
60 Multipart Entities Valdas Rapševičius. Web Services 60
61 HTTP problems Single request per connection Because HTTP can only fetch one resource at a time (HTTP pipelining helps, but still enforces only a FIFO queue), a server delay of 500 ms prevents reuse of the TCP channel for additional requests. Browsers work around this problem by using multiple connections. Since 2008, most browsers have finally moved from 2 connections per domain to 6. Exclusively client-initiated requests In HTTP, only the client can initiate a request. Even if the server knows the client needs a resource, it has no mechanism to inform the client and must instead wait to receive a request for the resource from the client. Uncompressed request and response headers Request headers today vary in size from ~200 bytes to over 2KB. As applications use more cookies and user agents expand features, typical header sizes of bytes is common. For modems or ADSL connections, in which the uplink bandwidth is fairly low, this latency can be significant. Reducing the data in headers could directly improve the serialization latency to send requests Redundant headers In addition, several headers are repeatedly sent across requests on the same channel. However, headers such as the User-Agent, Host, and Accept* are generally static and do not need to be resent. Optional data compression. HTTP uses optional compression encodings for data. Content should always be sent in a compressed format. Source: Valdas Rapševičius. Web Services 61
62 Goals Future of HTTP Not to replace HTTP! One connection: prioritizing and multiplexing of subresources Compressing and caching headers Alternatives: HTTP 2.0 Developed by the Hypertext Transfer Protocol Bis (httpbis) working group of the IETF SPDY By Google Supported by Chrome/Chromium, FF 11+ S+M Microsoft WebSockets Full duplex protocol over TCP Valdas Rapševičius. Web Services 62
63 URI URI Uniform Resource Identifier Uniquely Identifies resources in Web URL Uniform Resource Locator Most common form of resource identifier Describe the specific location of a resource on a particular server URN Uniform Resource Name Unique name for a particular piece of content, independent of where the resource currently resides urn:ietf:rfc: Valdas Rapševičius. Web Services 63
64 URL Syntax Valdas Rapševičius. Web Services 64
65 URI Schemes Scheme + : + scheme-specific part Examples: skype:<username or phone number>?call news:alt.tv.simpsons feed: Valdas Rapševičius. Web Services 65
66 Hypertext Hypertext is text which is not constrained to be linear. Hypertext is text which contains links to other texts. The term was coined by Ted Nelson around HyperMedia is a term used for hypertext which is not constrained to be text: it can include graphics, video and sound. Apparently Ted Nelson was the first to use this term too. Hypertext and HyperMedia are concepts, not products Valdas Rapševičius. Web Services 66
67 REST Representational State Transfer (REST) A style of software architecture for distributed systems such as the World Wide Web REST has emerged as a predominant web service design model ROA (Resource-Oriented Architecture) Valdas Rapševičius. Web Services 67
68 REST: Origins Roy Fielding documented REST based on the principles that emerged as the Web evolved (Fielding 2000) Noticed that Web servers, clients, and intermediaries shared some principles that gave them extensibility to work on the large-scale of the Internet Identified four principles of REST (which he called constraints) (Fielding 2000): 1. Identification of resources 2. Manipulation of resources through representations 3. Self-descriptive messages 4. Hypermedia as the engine of application state (abbreviated HATEOAS) Valdas Rapševičius. Web Services 68
69 REST Data Elements Valdas Rapševičius. Web Services 69
70 Resource The key abstraction of information in REST is a resource Any information that can be named can be a resource a document or image a temporal service (e.g. "today's weather in Los Angeles") a collection of other resources, a non-virtual object (e.g. a person) Any concept that might be the target of an author's hypertext reference must fit within the definition of a resource Valdas Rapševičius. Web Services 70
71 Resource Representation A representation is a sequence of bytes, plus representation metadata to describe those bytes. Other commonly used but less precise names for a representation include: document, file, and HTTP message entity, instance, or variant. A representation consists of data, metadata describing the data, and, on occasion, metadata to describe the metadata (usually for the purpose of verifying message integrity). Metadata is in the form of name-value pairs, where the name corresponds to a standard that defines the value's structure and semantics Valdas Rapševičius. Web Services 71
72 Resource State + Transfer A given representation may indicate the current state of the requested resource or the desired state for the requested resource Valdas Rapševičius. Web Services 72
73 REST Principles Addressability Every object and resource in your system is reachable through a unique identifier Use URIs (URLs)! Constrained interface Stick to the finite set of operations of the application protocol Use HTTP methods! Familiarity, Interoperability, Scalability Representation oriented Client receives a representation of the current state of that resource Client puts or post passes a representation of the resource to the server so that the underlying resource s state can change Use MIME Types! Communicate Statelessly There is no client session data stored on the server Hypermedia As The Engine Of Application State (HATEOAS) Location transparency Decoupling interaction details Reduced state transition errors Valdas Rapševičius. Web Services 73
74 REST Example Valdas Rapševičius. Web Services 74
75 Representations Standard: RDF (application/rdf+xml) Atom Syndication Format (application/atom+xml) GData (Google) or OData (Microsoft) Language-based: Microformat (application/xml, text/xml) Format-based: XML or POX (application/xml, text/xml) JSON (application/json) YAML (text/x-yaml) Valdas Rapševičius. Web Services 75
76 Hypermedia Hypermedia is a document-centric approach with the added support for embedding links to other services and information within that document format Valdas Rapševičius. Web Services 76
77 ROA Best Practices Representations Should Be Addressable (URI) State and Statelessness State of the Resource (ETag) State of Application (URI) Connectedness Links and forms connect the resources to each other The Uniform Interface (HTTP methods) Safety (HEAD & GET methods) Idempotence (PUT & DELETE methods) PUT vs POST Client can create a resource via PUT if it can calculate the final URI Overloading GET & POST? Transactions (as resources)? Authentication Versioning Valdas Rapševičius. Web Services 77
78 Common REST Mistakes Tunneling everything through GET Ignoring response codes Ignoring caching Ignoring hypermedia Ignoring MIME types Valdas Rapševičius. Web Services 78
79 REST API Implementation Figure out the data set Split the data set into resources For each kind of resource: Name the resources with URIs Expose a subset of the uniform interface Design the representation(s) accepted from the client Design the representation(s) served to the client Integrate this resource into existing resources, using hypermedia links and forms Consider the typical course of events: what s supposed to happen? Consider error conditions: what might go wrong? Valdas Rapševičius. Web Services 79
80 RO Analysis and Design (ROA/D) Valdas Rapševičius. Web Services 80
81 From Data to GUI Valdas Rapševičius. Web Services 81
82 REST Services Maturity Level 0 services that have a single URI (all interactions through a single resource) use a single HTTP method (typically POST, i.e., WS-*) Level 1 many URIs (numerous logical resources) single HTTP verb Level 2 numerous URI-addressable resources several of the HTTP verbs on each exposed resource (CRUD) Level 3 representations contain URI links to other resources application state transitions as a result by Valdas Rapševičius. Web Services 82
83 Metadata Entry point(s) Resource paths Methods to access these resources GET, POST, PUT, etc. Parameters that need to be supplied with these methods Query, Template, HTTP Header, etc. Formats of inbound / outbound messages/representations JSON Schema, XML Schema, Relax NG, etc. Status codes and error/fault messages Documentary information for all these descriptions, etc Valdas Rapševičius. Web Services 83
84 Metadata formats WSDL WADL Web Application Description Language submitted to the W3C by Sun in Swagger Developed by Reverb iodocs Developed by Masherys apiary.io Developed by Apiary Valdas Rapševičius. Web Services 84
85 Future of Web Valdas Rapševičius. Web Services 85
86 Conclusions Web is based on simple principles REST Resources Web (see Web!) Hypermedia New protocols WebSockets, SPDY/HTTP/2.0 SOA vs ROA Simplicity wins again! Valdas Rapševičius. Web Services 86
Header Status Codes Cheat Sheet
Header Status Codes Cheat Sheet Thanks for downloading our header status codes cheat sheet! Below you ll find all the header status codes and their meanings. They are organized by sections, starting with
More informationCOMPUTER NETWORKS AND COMMUNICATION PROTOCOLS. Web Access: HTTP Mehmet KORKMAZ
COMPUTER NETWORKS AND COMMUNICATION PROTOCOLS Web Access: HTTP 16501018 Mehmet KORKMAZ World Wide Web What is WWW? WWW = World Wide Web = Web!= Internet Internet is a global system of interconnected computer
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 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 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 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 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 informationSIP Compliance APPENDIX
APPENDIX E This appendix describes Cisco SIP proxy server (Cisco SPS) compliance with the Internet Engineering Task Force (IETF) definition of Session Initiation Protocol (SIP) as described in the following
More informationComputer Networks. Wenzhong Li. Nanjing University
Computer Networks Wenzhong Li Nanjing University 1 Chapter 8. Internet Applications Internet Applications Overview Domain Name Service (DNS) Electronic Mail File Transfer Protocol (FTP) WWW and HTTP Content
More informationCOSC 2206 Internet Tools. The HTTP Protocol
COSC 2206 Internet Tools The HTTP Protocol http://www.w3.org/protocols/ What is TCP/IP? TCP: Transmission Control Protocol IP: Internet Protocol These network protocols provide a standard method for sending
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 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 informationRESTful Services. Distributed Enabling Platform
RESTful Services 1 https://dev.twitter.com/docs/api 2 http://developer.linkedin.com/apis 3 http://docs.aws.amazon.com/amazons3/latest/api/apirest.html 4 Web Architectural Components 1. Identification:
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 informationHow to work with HTTP requests and responses
How a web server processes static web pages Chapter 18 How to work with HTTP requests and responses How a web server processes dynamic web pages Slide 1 Slide 2 The components of a servlet/jsp application
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 informationInternet Architecture. Web Programming - 2 (Ref: Chapter 2) IP Software. IP Addressing. TCP/IP Basics. Client Server Basics. URL and MIME Types HTTP
Web Programming - 2 (Ref: Chapter 2) TCP/IP Basics Internet Architecture Client Server Basics URL and MIME Types HTTP Routers interconnect the network TCP/IP software provides illusion of a single network
More informationLecture 3. HTTP v1.0 application layer protocol. into details. HTTP 1.0: RFC 1945, T. Berners-Lee HTTP 1.1: RFC 2068, 2616
Lecture 3. HTTP v1.0 application layer protocol into details HTTP 1.0: RFC 1945, T. Berners-Lee Lee,, R. Fielding, H. Frystyk, may 1996 HTTP 1.1: RFC 2068, 2616 Ascii protocol uses plain text case sensitive
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 informationCompliance with RFC 3261
APPENDIX A Compliance with RFC 3261 This appendix describes how the Cisco Unified IP Phone 7960G and 7940G complies with the IETF definition of SIP as described in RFC 3261. It contains compliance information
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 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 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 informationInformation About SIP Compliance with RFC 3261
APPENDIX A Information About SIP Compliance with RFC 3261 This appendix describes how the Cisco SIP IP phone complies with the IETF definition of SIP as described in RFC 3261. It has compliance information
More informationThe search being performed may take a significant time so a forking proxy must send a 100 Trying response.
SIP Response Codes Article Number: 178 Rating: Unrated Last Updated: Wed, Nov 15, 2017 at 2:31 PM SIP Response Codes 1xx Provisional Responses 100 Trying Extended The search being performed may take a
More informationHypertext Transport Protocol HTTP/1.1
Hypertext Transport Protocol HTTP/1.1 Jim Gettys Digital Equipment Corporation, ISBU Visiting Scientist, World Wide Web Consortium 10/17/96 20-Apr-01 1 Acknowledgments HTTP/1.1 Authors Roy Fielding (UCI)
More informationApplications & Application-Layer Protocols: The Web & HTTP
CPSC 360 Network Programming Applications & Application-Layer Protocols: The Web & HTTP Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc360
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 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 informationNetworks, WWW, HTTP. Web Technologies I. Zsolt Tóth. University of Miskolc. Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP / 35
Networks, WWW, HTTP Web Technologies I. Zsolt Tóth University of Miskolc 2018 Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 1 / 35 Table of Contents Networks Internet 1 Networks Internet
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 informationNDEV Mobile HTTP Services for NDEV Mobile Clients
NDEV Mobile HTTP Services for NDEV Mobile Clients Notice NDEV Mobile HTTP Services for NDEV Mobile Clients Copyright 2011-2012 Nuance Communications, Inc. All rights reserved. Published by Nuance Communications,
More informationINTERNET ENGINEERING. HTTP Protocol. Sadegh Aliakbary
INTERNET ENGINEERING HTTP Protocol Sadegh Aliakbary Agenda HTTP Protocol HTTP Methods HTTP Request and Response State in HTTP Internet Engineering 2 HTTP HTTP Hyper-Text Transfer Protocol (HTTP) The fundamental
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 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 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 informationDATA COMMUNICATOIN NETWORKING
DATA COMMUNICATOIN NETWORKING Instructor: Ouldooz Baghban Karimi Course Book: Computer Networking, A Top-Down Approach By: Kurose, Ross Introduction Course Overview Basics of Computer Networks Internet
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 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 informationWAP Push Message Version 16-August-1999
WAP Push Message Version 16-August-1999 Wireless Application Protocol Push Message Specification Notice: Wireless Application Protocol Forum, Ltd. 1999. Terms and conditions of use are available from the
More informationReview of Previous Lecture
Review of Previous Lecture Network access and physical media Internet structure and ISPs Delay & loss in packet-switched networks Protocol layers, service models Some slides are in courtesy of J. Kurose
More informationApplication Protocols and HTTP
Application Protocols and HTTP 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administrivia Lab #0 due
More informationApplication-layer Protocols and Internet Services
Application-layer Protocols and Internet Services Computer Networks Lecture 8 http://goo.gl/pze5o8 Terminal Emulation 2 Purpose of Telnet Service Supports remote terminal connected via network connection
More informationWorld-Wide Web Protocols CS 571 Fall Kenneth L. Calvert All rights reserved
World-Wide Web Protocols CS 571 Fall 2006 2006 Kenneth L. Calvert All rights reserved World-Wide Web The Information Universe World-Wide Web structure: hypertext Nonlinear presentation of information Key
More informationService Oriented Architectures (ENCS 691K Chapter 2)
Service Oriented Architectures (ENCS 691K Chapter 2) Roch Glitho, PhD Associate Professor and Canada Research Chair My URL - http://users.encs.concordia.ca/~glitho/ The Key Technologies on Which Cloud
More informationWeb, HTTP and Web Caching
Web, HTTP and Web Caching 1 HTTP overview HTTP: hypertext transfer protocol Web s application layer protocol client/ model client: browser that requests, receives, displays Web objects : Web sends objects
More informationWeb Technology. COMP476 Networked Computer Systems. Hypertext and Hypermedia. Document Representation. Client-Server Paradigm.
Web Technology COMP476 Networked Computer Systems - Paradigm The method of interaction used when two application programs communicate over a network. A server application waits at a known address and a
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 informationHTTP Security. CSC 482/582: Computer Security Slide #1
HTTP Security CSC 482/582: Computer Security Slide #1 Topics 1. How HTTP works 2. HTTP methods, headers, and responses 3. URIs, URLs, and URNs 4. Statelessness 5. Cookies 6. More HTTP methods and headers
More informationUnderstanding RESTful APIs and documenting them with Swagger. Presented by: Tanya Perelmuter Date: 06/18/2018
Understanding RESTful APIs and documenting them with Swagger Presented by: Tanya Perelmuter Date: 06/18/2018 1 Part 1 Understanding RESTful APIs API types and definitions REST architecture and RESTful
More informationSession Initiation Protocol (SIP)
Session Initiation Protocol (SIP) Introduction A powerful alternative to H.323 More flexible, simpler Easier to implement Advanced features Better suited to the support of intelligent user devices A part
More informationCSP 1.3: An HTTP-Based Protocol for Parameterized, Aggregated Content
CSP 1.3: An HTTP-Based Protocol for Parameterized, Aggregated Content This document was modified: 9/26/2005 1. Introduction...3 1.1. Motivation and Design Goals...3 1.2. Glossary of Terms...3 2. Protocol
More informationHow to Configure Authentication and Access Control (AAA)
How to Configure Authentication and Access Control (AAA) Overview The Barracuda Web Application Firewall provides features to implement user authentication and access control. You can create a virtual
More informationCSP 1.4: An HTTP-Based Protocol for Parameterized, Aggregated Content
CSP 1.4: An HTTP-Based Protocol for Parameterized, Aggregated Content This document was modified: 6/25/2007 1. Introduction... 3 1.1. Motivation and Design Goals... 3 1.2. Glossary of Terms... 3 2. Protocol
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 informationInternet Protocols. Robin Sharp
Internet Protocols Robin Sharp Informatics and Mathematical Modelling Technical University of Denmark Phone: (+45) 4525 3749 e-mail: robin@imm.dtu.dk Internet Protocols Just to remind you: Application
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 informationNetworking. Layered Model. DoD Model. Application Layer. ISO/OSI Model
Networking Networking is concerned with the physical topology of two or more communicating entities and the logical topology of data transmission. Layered Model Systems communicate over a shared communication
More informationHypertext Transport Protocol
Hypertext Transport Protocol CSE 333 Summer 2018 Instructor: Hal Perkins Teaching Assistants: Renshu Gu William Kim Soumya Vasisht Administriia Section tomorrow: pthread tutorial/demo Followup exercise
More informationHTTP. Robert Grimm New York University
HTTP Robert Grimm New York University Administrivia! Web cams! http://orwell1.cs.nyu.edu! http://orwell2.cs.nyu.edu! http://66.93.85.13/! Linux servers running JDK 1.4.1! class[20-25].scs.cs.nyu.edu! Reading
More informationBrowser behavior can be quite complex, using more HTTP features than the basic exchange, this trace will show us how much gets transferred.
Lab Exercise HTTP Objective HTTP (HyperText Transfer Protocol) is the main protocol underlying the Web. HTTP functions as a request response protocol in the client server computing model. A web browser,
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 information[MS-PCCRTP]: Peer Content Caching and Retrieval: Hypertext Transfer Protocol (HTTP) Extensions
[MS-PCCRTP]: Peer Content Caching and Retrieval: Hypertext Transfer Protocol (HTTP) Extensions Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft
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 informationCSSE 460 Computer Networks Group Projects: Implement a Simple HTTP Web Proxy
CSSE 460 Computer Networks Group Projects: Implement a Simple HTTP Web Proxy Project Overview In this project, you will implement a simple web proxy that passes requests and data between a web client and
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 informationHyperText Transfer Protocol
Outline Introduce Socket Programming Domain Name Service (DNS) Standard Application-level Protocols email (SMTP) HTTP HyperText Transfer Protocol Defintitions A web page consists of a base HTML-file which
More information13. Internet Applications 최양희서울대학교컴퓨터공학부
13. Internet Applications 최양희서울대학교컴퓨터공학부 Internet Applications Telnet File Transfer (FTP) E-mail (SMTP) Web (HTTP) Internet Telephony (SIP/SDP) Presence Multimedia (Audio/Video Broadcasting, AoD/VoD) Network
More informationREST. Lecture BigData Analytics. Julian M. Kunkel. University of Hamburg / German Climate Computing Center (DKRZ)
REST Lecture BigData Analytics Julian M. Kunkel julian.kunkel@googlemail.com University of Hamburg / German Climate Computing Center (DKRZ) 11-12-2015 Outline 1 REST APIs 2 Julian M. Kunkel Lecture BigData
More informationInternet Content Distribution
Internet Content Distribution Chapter 1: Introduction Jussi Kangasharju Chapter Outline Introduction into content distribution Basic concepts TCP DNS HTTP Outline of the rest of the course Kangasharju:
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 informationThe HTTP Protocol HTTP
The HTTP Protocol HTTP Copyright (c) 2013 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later
More informationREST over HTTP. Ambient intelligence. Fulvio Corno. Politecnico di Torino, 2015/2016
REST over HTTP Ambient intelligence Fulvio Corno Politecnico di Torino, 2015/2016 Goal Understanding main communication protocol (http) How to use REST architectures to integrate (call and/or offer) remote
More informationChapter 2 Application Layer
Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Application Layer 2-1 Some network apps e-mail web text messaging remote
More informationConfiguring Caching Services
CHAPTER 8 This chapter describes how to configure conventional caching services (HTTP, FTP [FTP-over-HTTP caching and native FTP caching], HTTPS, and DNS caching) for centrally managed Content Engines.
More informationdraft-ietf-sip-info-method-02.txt February 2000 The SIP INFO Method Status of this Memo
HTTP/1.1 200 OK Date: Tue, 09 Apr 2002 07:53:57 GMT Server: Apache/1.3.20 (Unix) Last-Modified: Tue, 15 Feb 2000 17:03:00 GMT ETag: "3239a5-465b-38a986c4" Accept-Ranges: bytes Content-Length: 18011 Connection:
More information2/13/2014. A protocol is an agreed-upon convention that defines how communication occurs between two (or more?) endpoints
Rensselaer Polytechnic Institute CSCI-4220 Network Programming David Goldschmidt, Ph.D. A protocol is an agreed-upon convention that defines how communication occurs between two (or more?) endpoints All
More informationEECS 3214: Computer Network Protocols and Applications
EECS 3214: Computer Network Protocols and Applications Suprakash Datta Course page: http://www.eecs.yorku.ca/course/3214 Office: LAS 3043 Email: datta [at] cse.yorku.ca These slides are adapted from Jim
More informationLayered Model. DoD Model. ISO/OSI Model
Data Communications vs Networking (later) Communication is concerned with the transmission of data over a communication medium/channel between two entities. Here we are more concerned about EE issues such
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 informationLecture 25. Tuesday, November 21 CS 475 Networks - Lecture 25 1
Lecture 25 Reminders: Homework 7 due today. Homework 8 posted. Due at the beginning of the last day of class for final exam review. Programming Project 6 posted. Final project worth double. Due by 4:30pm,
More informationHypertext Transfer Protocol -- HTTP/1.1
Network Working Group Request for Comments: 2616 Obsoletes: 2068 Category: Standards Track R. Fielding UC Irvine J. Gettys Compaq/W3C J. Mogul Compaq H. Frystyk W3C/MIT L. Masinter Xerox P. Leach Microsoft
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 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 information3. WWW and HTTP. Fig.3.1 Architecture of WWW
3. WWW and HTTP The World Wide Web (WWW) is a repository of information linked together from points all over the world. The WWW has a unique combination of flexibility, portability, and user-friendly features
More informationRESTful API Design APIs your consumers will love
RESTful API Design APIs your consumers will love Matthias Biehl RESTful API Design Copyright 2016 by Matthias Biehl All rights reserved, including the right to reproduce this book or portions thereof in
More informationConfiguring Virtual Servers
3 CHAPTER This section provides an overview of server load balancing and procedures for configuring virtual servers for load balancing on an ACE appliance. Note When you use the ACE CLI to configure named
More informationBusiness Data Networks and Security 10th Edition by Panko Test Bank
Business Data Networks and Security 10th Edition by Panko Test Bank Chapter 2 Network Standards 1) Internet standards are published as. A) RFCs B) IETFs C) TCP/IPs D) Internet Protocols Question: 1a Objective:
More informationLecture 9a: Sessions and Cookies
CS 655 / 441 Fall 2007 Lecture 9a: Sessions and Cookies 1 Review: Structure of a Web Application On every interchange between client and server, server must: Parse request. Look up session state and global
More informationHTTP, circa HTTP protocol. GET /foo/bar.html HTTP/1.1. Sviluppo App Web 2015/ Intro 3/3/2016. Marco Tarini, Uninsubria 1
HTTP protocol HTTP, circa 1989 a resource «give me the HTML representation of thatresource» «ok, here» Client request GET /hello.txt Server response Hello, world! Client Server Http 1.1 Request line Client
More informationTAXII 2.0 Specification Pre Draft
TAXII 2.0 Specification Pre Draft Current Status/Intent This document serves to gain consensus on pre draft concepts of TAXII 2.0. Please feel free to poke holes and comment! Overview TAXII is an open
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 informationNetwork Working Group Request for Comments: 3507 Category: Informational April 2003
Network Working Group Request for Comments: 3507 Category: Informational J. Elson A. Cerpa UCLA April 2003 Status of this Memo Internet Content Adaptation Protocol (ICAP) This memo provides information
More informationApril 24, 1998 Expires in six months. SMTP Service Extension for Secure SMTP over TLS. Status of this memo
HTTP/1.1 200 OK Date: Tue, 09 Apr 2002 00:24:41 GMT Server: Apache/1.3.20 (Unix) Last-Modified: Mon, 27 Apr 1998 14:31:00 GMT ETag: "2e9b64-31dd-354496a4" Accept-Ranges: bytes Content-Length: 12765 Connection:
More informationCMPE 151: Network Administration. Servers
CMPE 151: Network Administration Servers Announcements Unix shell+emacs tutorial. Basic Servers Telnet/Finger FTP Web SSH NNTP Let s look at the underlying protocols. Client-Server Model Request Response
More informationvrealize Log Insight Developer Resources
vrealize Log Insight Developer Resources vrealize Log Insight 4.3 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new
More information[MS-OAUTH2EX]: OAuth 2.0 Authentication Protocol Extensions. Intellectual Property Rights Notice for Open Specifications Documentation
[MS-OAUTH2EX]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages,
More informationIP Mobility vs. Session Mobility
IP Mobility vs. Session Mobility Securing wireless communication is a formidable task, something that many companies are rapidly learning the hard way. IP level solutions become extremely cumbersome when
More informationPLEASE READ CAREFULLY BEFORE YOU START
Page 1 of 11 MIDTERM EXAMINATION #1 OCT. 16, 2013 COMPUTER NETWORKS : 03-60-367-01 U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E Fall 2013-75 minutes This examination
More information