Index
A note on the digital index
A link in an index entry is displayed as the section title in which that entry appears. Because some sections have multiple index markers, it is not unusual for an entry to have several links to the same section. Clicking on any link will take you directly to the place in the text in which the marker appears.
Symbols
- , (commas)
- scoping information, No Hierarchy? Use Commas or Semicolons–Scale
- URI design and, URI Design
- / (forward slash)
- Django “house style” and, Define Resources and Give Them URIs
- using XPath, using, Web Services Are Web Sites
- // XPath expressions, Method Information
- ; (semicolons) scoping information, No Hierarchy? Use Commas or Semicolons–Scale
- [ ] (square brackets), using XPath, Web Services Are Web Sites
- 100 “Continue” response code, 100 (“Continue”)
- 101 “Switching Protocols” response code, 101 (“Switching Protocols”)
- 200 “OK” response code, HTTP Response Codes, What’s Supposed to Happen?, What Might Go Wrong?, 200 (“OK”)
- database-backed control flow, PUT
- modifying resources, What’s Supposed to Happen?
- 201 “Created” response code, 201 (“Created”)
- creating resources, What’s Supposed to Happen?
- database-backed control flow, PUT
- 202 “Accepted” response code, Asynchronous Operations, 202 (“Accepted”)
- 203 “Non-Authoritative Information” response code, 203 (“Non-Authoritative Information”)
- 204 “No Content” response code, 204 (“No Content”)
- 206 “Partial Content” response code, 206 (“Partial Content”)
- 207 “Multi-Status” response code, 207 (“Multi-Status”)
- 300 “Multiple Choices” response code, 300 (“Multiple Choices”)
- 301 “Moved Permanently” response code, PUT, Three to Seven Status Codes: The Bare Minimum, 301 (“Moved Permanently”)
- 302 “Found” response code, 302 (“Found”)
- 303 “See Other” response code, What Might Go Wrong?, 303 (“See Other”)
- 304 “Not Modified” response code, Conditional GET, 304 (“Not Modified”)
- 305 “Use Proxy” response code, 305 (“Use Proxy”)
- 306 “Unused” response code, 306: Unused
- 307 “Temporary Redirect” response code, 307 (“Temporary Redirect”)
- 400 “Bad Request” response code, What Might Go Wrong?, 400 (“Bad Request”)
- database-backed control flow, Database-Backed Control Flow
- restrictions and, What Might Go Wrong?
- 401 “Unauthorized” response code, What Might Go Wrong?, What Might Go Wrong?, Basic authentication, 401 (“Unauthorized”)
- 402 “Payment Required” response code, 402 (“Payment Required”)
- 403 “Forbidden” response code, 403 (“Forbidden”)
- 404 “Not Found” response code, HTTP Response Codes, What Might Go Wrong?, What Might Go Wrong?, Three to Seven Status Codes: The Bare Minimum, 404 (“Not Found”)
- database-backed control flow, PUT
- 405 “Method Not Allowed” response code, POST Once Exactly, 405 (“Method Not Allowed”)
- 406 “Not Acceptable” response code, 406 (“Not Acceptable”)
- 407 “Proxy Authentication Required” response code, 407 (“Proxy Authentication Required”)
- 408 “Request Timeout” response code, 408 (“Request Timeout”)
- 409 “Conflict” response code, What Might Go Wrong?, Three to Seven Status Codes: The Bare Minimum, 409 (“Conflict”)
- database-backed control flow, PUT
- unauthorized access and, What Might Go Wrong?
- 410 “Gone” response code, PUT, Three to Seven Status Codes: The Bare Minimum, 410 (“Gone”)
- 411 “Length Required” response code, 411 (“Length Required”)
- 412 “Precondition Failed” response code, 412 (“Precondition Failed”)
- 413 “Request Entity Too Large” response code, 413 (“Request Entity Too Large”)
- 414 “Request-URI Too Long” response code, 414 (“Request-URI Too Long”)
- 415 “Unsupported Media Type” response code, What Might Go Wrong?, What Might Go Wrong?, 415 (“Unsupported Media Type”)
- database-backed control flow, Database-Backed Control Flow
- 416 “Requested Range Not Satisfiable” response code, 416 (“Requested Range Not Satisfiable”)
- 417 “Expectation Failed” response code, 417 (“Expectation Failed”)
- 500 “Internal Server Error” response code, HTTP Response Codes, What Might Go Wrong?, What Might Go Wrong?, Three to Seven Status Codes: The Bare Minimum, 500 (“Internal Server Error”)
- 501 “Not Implemented” response code, 501 (“Not Implemented”)
- 502 “Bad Gateway” response code, 502 (“Bad Gateway”)
- 503 “Service Unavailable” response code, What Might Go Wrong?, What Might Go Wrong?, 503 (“Service Unavailable”)
- 504 “Gateway Timeout” response code, 504 (“Gateway Timeout”)
- 505 “HTTP Version Not Supported” response code, 505 (“HTTP Version Not Supported”)
- “Abusing Amazon Images” (Gertler, Nat), Designing Read-Only Resource-Oriented Services
- “Universal Resource Identifiers-Axioms of Web Architecture” (Berners-Lee, Tim), URIs
A
- Accept request header, Accept
- Accept-Charset request header, Accept-Charset
- Accept-Encoding request header, Optional Features, Accept-Encoding
- compression algorithms and, Compression
- Accept-Language request header, Deciding Between Representations, Accept-Language
- Accept-Ranges request header, Accept-Ranges
- “Accepted” 202 response code, Asynchronous Operations, 202 (“Accepted”)
- access control, Request Signing and Access Control–Setting Access Policy
- “Access Key ID” (Amazon), An S3 Client
- access policies, Setting Access Policy
- ActionScript, Other Languages, From AJAX to Ajax
- XML parsers and, Other Languages
- ActiveRecord, Design the Representation(s) Accepted from the Client, Design the Representation(s) Accepted from the Client
- ActiveResource, Wrappers, WADL, and ActiveResource
- clients, making transparent with, Clients Made Transparent with ActiveResource–Parting Words
- acts_as_taggable plugin, A Social Bookmarking Web Service, Model Code
- ad hoc XHTML, Ad Hoc XHTML
- addressability of URIs, Addressability–Addressability, Addressability, Why Addressability Matters
- Age request header, Age
- Ajax, Addressability
- advantages/disadvantages, The Advantages of Ajax
- architecture, The Ajax Architecture
- cross-browser issues and, Cross-Browser Issues and Ajax Libraries
- request proxying, Request Proxying
- requests, Making the Request
- responses, handling, Handling the Response
- REST clients, as, Ajax Applications as REST Clients
- AllegroServe web server library (Lisp), Other Languages
- Allow request header, Allow
- Amazon Web Services, The Programmable Web and Its Inhabitants, Introducing the Simple Storage Service
- addressablity, Addressability
- S3, RESTful, Resource-Oriented Architectures, Resources
- client library, using, Using the S3 Client Library
- wrappers, Wrappers, WADL, and ActiveResource
- Apache Tomcat, Restlet
- API keys, User Accounts as Resources
- APP (Atom Publishing Protocol), RESTful, Resource-Oriented Architectures, Introducing the Simple Storage Service, The Atom Publishing Protocol–Summary
- collections, describing, Describing an APP collection
- application forms, Hypermedia Technologies
- application state, Application State Versus Resource State, State and Statelessness
- application/atom+xml media types, Atom
- application/json media type, JSON
- application/x-www-form-urlencoded media type, Form-Encoded Key-Value Pairs
- application/xhtml+xml media type, XHTML
- application/xml media type, Framework-Specific Serialization Formats, Other XML Standards and Ad Hoc Vocabularies
- applications and web interfaces, Applications with a Web Interface–Applications with No Web Interface
- applicaton/xhtml+xml
- ad hoc XHTML, Ad Hoc XHTML
- Architecture of the World Wide Web, What’s a Resource?
- Asynchronous JavaScript And XML (see Ajax)
- asynchronous operations, Asynchronous Operations
- AsyncWeb, Restlet
- Atom, A Social Bookmarking Web Service, Design the Representation(s) Served to the Client, Atom–OpenSearch
- “Atom Authentication” (Pilgrim, Mark), WSSE username token
- atom-tools Ruby gem, A Social Bookmarking Web Service
- “authenticated” messages, Link This Resource to Existing Resources
- authenticated-read access policy, Setting Access Policy
- authentication (HTTP), Authentication, Authorization, Privacy, and Trust
- authorization and, Authentication and Authorization–WSSE username token
- authorization, Authentication, Authorization, Privacy, and Trust–Authentication, Authorization, Privacy, and Trust
- authentication and, Authentication and Authorization
- unauthorized access and, What Might Go Wrong?
- Authorization request header, Optional Features, Basic authentication, Authorization
- S3 and, Request Signing and Access Control
- unauthorized access and, What Might Go Wrong?
- WSSE HTTP authentication, WSSE username token
- authorization token, Why Should a User Trust the HTTP Client?
- AWS::S3, Introducing the Simple Storage Service, An S3 Client
- Axioms of Web Architecture (Berners-Lee, Tim), Permanent URIs Versus Readable URIs
B
- “Bad Gateway” 502 response code, 502 (“Bad Gateway”)
- “Bad Request” 400 response code, What Might Go Wrong?, 400 (“Bad Request”)
- database-backed control flow, Database-Backed Control Flow
- restrictions and, What Might Go Wrong?
- base 64 encoding, Basic authentication
- Basic HTTP authentication, Optional Features, Authentication, Authorization, Privacy, and Trust, Basic authentication
- batch operations, Batch Operations
- Beautiful Soup XML parser, Python: ElementTree
- Berners-Lee, Tim, URIs, Permanent URIs Versus Readable URIs
- best practices for REST, REST and ROA Best Practices–What Problem Does this Solve?
- Big Web Services, Kinds of Things on the Programmable Web, The Resource-Oriented Architecture Versus Big Web Services–Conclusion
- binary documents, Binary documents as APP members
- bookmarks, del.icio.us: The Sample Application
- controllers for, The Bookmarks Controller
- management for, Remodeling the REST Way
- BPEL (Business Process Execution Language), BPEL, ESB, and SOA
- browser issues, Cross-Browser Issues and Ajax Libraries
- buckets, The Programmable Web and Its Inhabitants
- access policies, Setting Access Policy
- buckets (S3), Object-Oriented Design of S3
- Builder::XmlMarkup (Ruby), The CalendarController
- Bunardzic, Alex, Resource-Oriented What Now?
- bundlers controller, The Bundles Controller
- Business Process Execution Language (BPEL), BPEL, ESB, and SOA
C
- C programming language, Other Languages
- XML parsers and, Other Languages
- C#, C#: System.Web.HTTPWebRequest
- XML parsers and, C#: System.Xml.XmlReader
- C++ programming language, Other Languages
- XML parsers and, Other Languages
- Cache-Control header, Please cache, Cache-Control
- caching, Caching–Default caching rules
- calendar controller, The Calendar Controller
- __call__ method, The bookmark detail view
- category documents (APP), Category documents
- character encoding, Encoding Issues
- class HTML attribute, XHTML
- client-side errors, 4xx: Client-Side Error–417 (“Expectation Failed”)
- clients, Web Services Are Web Sites–Clients Made Easy with WADL
- ActiveResource, making transparent with, Clients Made Transparent with ActiveResource–Parting Words
- Python, using for, A Python Client for the Simple Service
- representations, Design the Representation(s) Accepted from the Client–Design the Representation(s) Accepted from the Client, Design the Representation(s) Accepted from the Client–Design the Representation(s) Served to the Client
- S3, An S3 Client–The S3 Object
- library, using, Using the S3 Client Library
- writing, Optional Features, Writing Restlet Clients–Writing Restlet Clients
- CLR (Common Language Runtime), C#: System.Web.HTTPWebRequest, C#: System.Xml.XmlReader
- collections (APP), Collections
- commas (,)
- scoping information, No Hierarchy? Use Commas or Semicolons–Scale
- URI design and, URI Design
- Common Language Runtime (CLR), C#: System.Web.HTTPWebRequest, C#: System.Xml.XmlReader
- Common Lisp, Other Languages
- XML parsers, Other Languages
- compression, Compression
- conditional GET, Conditional HTTP GET, Conditional GET, Conditional GET–Conditional GET
- caching and, Caching
- “Conflict” 409 response code, What Might Go Wrong?, Three to Seven Status Codes: The Bare Minimum, 409 (“Conflict”)
- database-backed control flow, PUT
- unauthorized access and, What Might Go Wrong?
- connectedness, Links and Connectedness–Links and Connectedness, Connectedness, Why Connectedness Matters
- service versioning, Service Versioning
- Connection request header, Connection
- content negotiation, Deciding Between Representations
- Content-Encoding header, Compression, Content-Encoding
- Content-Language request header, Content-Language
- Content-Length request header, Content-Length
- Content-Location header, Default caching rules, Content-Location
- Content-MD5 request header, Content-MD5
- Content-Range request header, Content-Range
- Content-Type header, HTTP: Documents in Envelopes, Content-Type
- compression algorithms and, Compression
- encodings and, XML and HTTP: Battle of the encodings
- HTTP response and, What’s Supposed to Happen?
- outgoing representations and, Outgoing Representations
- S3, The S3 Object
- “Continue” 100 response code, 100 (“Continue”)
- control flows (prepackaged), Prepackaged Control Flows–POST Once Exactly
- controllers, REST in Rails, The Bookmarks Controller–The Bundles Controller, Resources, Controllers, and Views
- Cookie request header, Cookie
- cookies, Statelessness, The Trouble with Cookies
- CPAN
- XML parsers and, Other Languages
- “Created” 201 response code, 201 (“Created”)
- creating resources, What’s Supposed to Happen?
- database-backed control flow, PUT
- cross-browser issues, Cross-Browser Issues and Ajax Libraries
- Crypt:SSLeay module, Other Languages
- CSS, Processing the Response: XML Parsers
- curl, The Command Line: curl
D
- data sets, Figure Out the Data Set–General Lessons, Figure Out the Data Set, Figure Out the Data Set, Figuring Out the Data Set–Figuring Out the Data Set
- resources, splitting into, Split the Data Set into Resources
- databases, Figuring Out the Data Set, What’s Supposed to Happen?
- ActiveRecord and, Design the Representation(s) Accepted from the Client
- control flow and, Database-Backed Control Flow–DELETE
- Date request header, Date
- DCMI (Dublin Core Metadata Initiative), RDF and RDFa
- dd tag (HTML), Representing Planets and Other Places
- Debian GNU/Linux, installing net/https library, Ruby: rest-open-uri and net/http
- del.icio.us web service, del.icio.us: The Sample Application–What the Sample Clients Do
- DELETE method, Method Information, Making the Request: HTTP Libraries, GET, PUT, and DELETE
- ActiveResource clients and, An ActiveResource Client
- APP resources and, Summary
- caching and, Default caching rules
- faking, Faking PUT and DELETE
- S3, Resources
- S3::Bucket#delete method, The Bucket
- safety and idempotence, Safety and Idempotence
- uniform interface and, The Uniform Interface
- user controllers and, The User Controller
- UsersController and, The UsersController
- web applications and web services and, Web Applications as Web Services
- DELETE statement (SQL), An ActiveResource Client
- Digest HTTP authentication, Optional Features, Authentication, Authorization, Privacy, and Trust, Digest authentication–Digest authentication
- Django (Python), A Service Implementation, Frameworks for RESTful Services, Django–Conclusion
- implementing resources as views, Implement Resources as Django Views–Further directions
- dl HTML tag, XHTML
- document (entity-body), HTTP: Documents in Envelopes
- document-based protocol, HTTP: Documents in Envelopes
- Dojo, JSON Parsers: Handling Serialized Data, Dojo
- DOM parsers, Processing the Response: XML Parsers
- DOMIT! DOM parser (PHP), PHP
- Dublin Core Metadata Initiative (DCMI), RDF and RDFa
E
- ECMAScript standards, JSON Parsers: Handling Serialized Data
- ElementTree (Python), Python: ElementTree
- encoding issues, Encoding Issues
- Enterprise Service Bus (ESB), BPEL, ESB, and SOA
- entity-body, HTTP: Documents in Envelopes, Design the Representation(s) Accepted from the Client
- batch operations and, Batch Operations
- form-encoding and, Design the Representation(s) Accepted from the Client
- HTTP libraries and, Making the Request: HTTP Libraries
- Look-Before-You-Leap (LBYL) requests and, Look-Before-You-Leap Requests
- PUT/DELETE, faking, Faking PUT and DELETE
- scoping informations and, Scoping Information
- XML documents and, What the Sample Clients Do, Processing the Response: XML Parsers
- entries (Atom lists), Atom
- EntriesController class, Routing
- eRDF, RDF and RDFa
- error (status codes)
- client-side, 4xx: Client-Side Error–417 (“Expectation Failed”)
- server-side, 5xx: Server-Side Error
- ESB (Enterprise Service Bus), BPEL, ESB, and SOA
- ETag HTTP header, Optional Features, What’s Supposed to Happen?, ETag
- conditional GET and, Conditional GET, Conditional GET
- Expat XML parser, Other Languages
- Expect request header, Expect
- “Expectation Failed” 417 response code, 417 (“Expectation Failed”)
- expiration dates, signing URIs, Signing a URI
- Expires request header, Expires
- Extensible Open XHTML Outlines (XOXO), XHTML with Microformats
F
- federation, Security
- feeds (Atom lists), Atom
- Firefox, Authentication, Authorization, Privacy, and Trust
- Flash, Other Languages
- Flickr
- API, Method Information, REST-RPC Hybrid Architectures
- statelessness and, Application State Versus Resource State
- user accounts and, User Accounts as Resources
- FOAF, RDF and RDFa
- “Forbidden” 403 response code, 403 (“Forbidden”)
- form-encoding, Design the Representation(s) Accepted from the Client
- key-value pairs, Other Languages, Form-Encoded Key-Value Pairs
- forms (HTML)
- encoded representation of user accounts, Design the Representation(s) Accepted from the Client
- form-encoded key-value pairs and, Form-Encoded Key-Value Pairs
- hypermedia and, Hypermedia Technologies
- linking resources and, Link the Resources to Each Other
- user accounts and, Why Should User Accounts Be Resources?
- XHTML 4, XHTML 4 forms
- forward slash (/)
- Django “house style” and, Define Resources and Give Them URIs
- XPath, using, Web Services Are Web Sites
- “Found” 302 response code, 302 (“Found”)
- 4Suite, Python: ElementTree
- Framework-specific serialization formats, Framework-Specific Serialization Formats
- frameworks for RESTful services, Frameworks for RESTful Services–Conclusion
- From request header, From
G
- “Gateway Timeout” 504 response code, 504 (“Gateway Timeout”)
- GData, RESTful, Resource-Oriented Architectures, GData
- gem program, Ruby: rest-open-uri and net/http
- geo microformat specification, XHTML with Microformats
- Gertler, Nat, Designing Read-Only Resource-Oriented Services
- GET method, HTTP: Documents in Envelopes, Making the Request: HTTP Libraries, GET, PUT, and DELETE
- ActiveResource clients and, An ActiveResource Client
- APP resources and, Summary
- conditional HTTP, Conditional HTTP GET, Conditional GET
- database-backed control flow and, GET
- open-uri library and, Ruby: rest-open-uri and net/http
- partial, Partial GET
- read-only resources and, Turning Requirements Into Read-Only Resources
- Ruby controllers and, Resources, Controllers, and Views
- S3, Resources, The Bucket
- safety and idempotence, Safety and Idempotence
- scoping information, Scoping Information
- uniform interface and, The Uniform Interface
- user controllers and, The User Controller
- Gmail, Addressability
- “Gone” 410 response code, PUT, Three to Seven Status Codes: The Bare Minimum, 410 (“Gone”)
- Google, Method Information
- Calendar, Applications with a Web Interface
- GData, GData
- links and connectedness, Links and Connectedness
- maps, Representing Maps and Points on Maps
- representations and, Deciding Between Representations
- Resource-Oriented Architecture and, Addressability
- SOAP and, SOAP
- Web Accelerator and, Why safety and idempotence matter
- Gourley, David, Caching
- Gregorio, Joe, Python: httplib2, Turning Requirements Into Read-Only Resources
- gs:doGoogleSearch remote procedure, SOAP
- GUI elements, The Ajax Architecture
- gzip, Compression
H
- Hadley, Marc, Describing a del.icio.us resource
- hAtom microformat specification, XHTML with Microformats
- hCalendar microformat specification, XHTML with Microformats, Ad Hoc XHTML
- hCard microformat specification, XHTML with Microformats, XHTML with Microformats, Ad Hoc XHTML
- HEAD method, Making the Request: HTTP Libraries, HEAD and OPTIONS
- caching and, Caching
- read-only resources and, Turning Requirements Into Read-Only Resources
- S3, Resources, The S3 Object
- safety and idempotence, Safety and Idempotence
- uniform interface and, The Uniform Interface
- headers, The HTTP Header Top Infinity–X-WSSE
- nonstandard, Nonstandard Headers–X-WSSE
- standard, Standard Headers–WWW-Authenticate
- hierarchy into path variables, Encode Hierarchy into Path Variables–Scale
- High REST, Leftover Terminology
- Host request header, Host
- How to create a REST Protocol (Gregorio, Joe), Turning Requirements Into Read-Only Resources
- hpricot gem, Ruby: REXML, I Guess
- href attribute (link tag), XHTML 4 links
- hResume microformat specification, XHTML with Microformats
- hReview microformat specification, XHTML with Microformats
- HTML, Kinds of Things on the Programmable Web, XHTML 5
- linking resources, Link the Resources to Each Other
- XHTML and, XHTML
- HTTP, Kinds of Things on the Programmable Web, HTTP: Documents in Envelopes–HTTP: Documents in Envelopes, HTTP
- authentication, Authentication, Authorization, Privacy, and Trust, Authentication and Authorization–WSSE username token
- Basic authentication, Authentication, Authorization, Privacy, and Trust, Basic authentication
- data sets and, Split the Data Set into Resources
- Digest authentication, Authentication, Authorization, Privacy, and Trust, Digest authentication–Digest authentication
- encodings, XML and HTTP: Battle of the encodings
- libraries, Making the Request: HTTP Libraries
- methods, The Uniform Interface
- RPC-style architectures and, RPC-Style Architectures
- sessions, Statelessness
- standard features of, Standard Features of HTTP–Partial GET
- WSSE authentication, Optional Features, Authentication, Authorization, Privacy, and Trust, WSSE username token
- HTTP Basic authentication, Authentication, Authorization, Privacy, and Trust
- HTTP response codes (see response codes (HTTP))
- “HTTP Version Not Supported” 505 response code, 505 (“HTTP Version Not Supported”)
- HTTP+POX (HTTP plus Plain Old XML), Leftover Terminology
- HTTP: The Definitive Guide (Totty, Gourley), Caching
- HttpClient (Java), Java: HttpClient
- httplib2 (Python), Python: httplib2
- HTTPS, Authentication, Authorization, Privacy, and Trust
- certificates, Making the Request: HTTP Libraries
- HttpURLConnection class, Restlet
- HTTPWebRequest, C#: System.Web.HTTPWebRequest
- http_authentication Ruby plugin, A Social Bookmarking Web Service
- Hybrid architectures (RPC), REST-RPC Hybrid Architectures
- hypermedia, Links and Connectedness, Link This Resource to Existing Resources, Design the Representation(s) Served to the Client
- descriptions, Hypermedia Descriptions
- natural-language description and, Natural-Language Service Description
- technologies, Hypermedia Technologies–Is WADL evil?
- WADL and, WADL–Is WADL evil?
- hypermedia as engine of application state (see connectedness)
I
- iCalendar, Ad Hoc XHTML
- idempotence, Safety and Idempotence–Why safety and idempotence matter
- uniform interface, Safety and Idempotence
- If-Match HTTP header, If-Match
- If-Modified-Since HTTP header, Optional Features, Conditional HTTP GET, Conditional GET, If-Modified-Since
- If-None-Match HTTP header, Conditional HTTP GET, If-None-Match
- conditional GET and, Conditional GET
- If-Range HTTP header, If-Range
- If-Unmodified-Since header, If-Unmodified-Since
- image/svg+xml media type, SVG
- incoming representations, Incoming Representations
- INSERT statement (SQL), An ActiveResource Client
- “Internal Server Error” 500 response code, HTTP Response Codes, What Might Go Wrong?, What Might Go Wrong?, Three to Seven Status Codes: The Bare Minimum, 500 (“Internal Server Error”)
- ISO 8859-1 encoding, Encoding Issues
- itemsPerPage element (OpenSearch), OpenSearch
J
- JAR files, Compiling, running, and testing
- Java, Java: HttpClient, From AJAX to Ajax
- XML parsers and, Java: javax.xml, Xerces, or XMLPull
- java.net.HttpURLConnection HTTP client, Java: HttpClient
- java.net.URL object, Java: HttpClient
- JavaScript, JavaScript: XMLHttpRequest
- Ajax and, From AJAX to Ajax
- on Demand, JavaScript on Demand
- XML parsers, JavaScript: responseXML–JSON Parsers: Handling Serialized Data
- JavaScript Object Notation (see JSON)
- javax.xml.* package, Java: javax.xml, Xerces, or XMLPull
- javax.xml.stream package, Java: javax.xml, Xerces, or XMLPull
- jbucket, Wrappers, WADL, and ActiveResource
- Jetty, Restlet
- JSON (JavaScript Object Notation), Kinds of Things on the Programmable Web, JSON Parsers: Handling Serialized Data–JSON Parsers: Handling Serialized Data, Representing the List of Planets, JSON
- Ajax and, JSON
- bookmarks, representing, Design the Representation(s) Accepted from the Client
- encoding and, The character encoding of a JSON document
- json Ruby gem, JSON Parsers: Handling Serialized Data
K
- key-value pairs, Design the Representation(s) Accepted from the Client, Form-Encoded Key-Value Pairs
- keys (S3), A Few Words About Objects
L
- language (natural) description, Natural-Language Service Description
- Last-Modified HTTP header, Optional Features, Conditional HTTP GET, What’s Supposed to Happen?, Last-Modified
- conditional GET and, Conditional GET, Conditional GET
- LBYL (Look-Before-You-Leap) requests, Look-Before-You-Leap Requests
- “Length Required” 411 response code, 411 (“Length Required”)
- li HTML tag, XHTML
- libcurl, PHP: libcurl
- libgmail library, Ajax Applications as REST Clients
- libopenssl-ruby, Ruby: rest-open-uri and net/http
- libraries
- HTTP, Making the Request: HTTP Libraries
- S3, using, Using the S3 Client Library
- standard, The Programmable Web and Its Inhabitants
- libwww-perl (LWP), Other Languages
- libxml2 library, Ruby: REXML, I Guess
- PHP XML parsers and, PHP
- limit parameter, The ApplicationController
- link tag, XHTML 4 links
- links, The Bucket List, Links and Connectedness–Links and Connectedness
- hypermedia and, Hypermedia Technologies
- resources to existing resources, Link This Resource to Existing Resources–Link This Resource to Existing Resources, Link This Resource to Existing Resources–What’s Supposed to Happen?
- S3 clients and, Why Connectedness Matters
- XHTML 4, XHTML 4 links
- Linux, installing net/https library, Ruby: rest-open-uri and net/http
- Lisp, Other Languages
- XML parsers, Other Languages
- Location response header, Default caching rules, 3xx: Redirection, Location
- Look-Before-You-Leap (LBYL) requests, Look-Before-You-Leap Requests
- Lovett, Chris, C#: System.Xml.XmlReader
- Low REST, Leftover Terminology
- LWP (libwww-perl), Other Languages
M
- Max-Forwards header, Max-Forwards
- media types, HTTP: Documents in Envelopes
- members (APP), Collections
- metadata, Representations
- method information, Method Information
- “Method Not Allowed” 405 response code, 405 (“Method Not Allowed”)
- methods, Method Information–Method Information
- S3, Resources
- microformats with XHMTL, XHTML with Microformats–XHTML with Microformats
- model classes, Model Code–The Bookmark Model
- “Moved Permanently” 301 response code, PUT, Three to Seven Status Codes: The Bare Minimum, 301 (“Moved Permanently”)
- “Multi-Status” 207 response code, 207 (“Multi-Status”)
- “Multiple Choices” 300 response code, 300 (“Multiple Choices”)
- MySQL, Figuring Out the Data Set
N
- names for resources, Name the Resources–URI Recap
- natural-language description, Natural-Language Service Description
- .NET Common Language Runtime (CLR), C#: System.Web.HTTPWebRequest, C#: System.Xml.XmlReader
- net/http library, Ruby: rest-open-uri and net/http
- Net::HTTP class, Ruby: rest-open-uri and net/http, Processing the Response: XML Parsers
- NetworkCredential, C#: System.Web.HTTPWebRequest
- Nielsen, Jakob, Permanent URIs Versus Readable URIs
- “No Content” 204 response code, 204 (“No Content”)
- Noelios Restlet Engine (NRE), Restlet
- “Non-Authoritative Information” 203 response code, 203 (“Non-Authoritative Information”)
- “Not Acceptable” 406 response code, 406 (“Not Acceptable”)
- “Not Found” 404 response code, HTTP Response Codes, What Might Go Wrong?, What Might Go Wrong?, Three to Seven Status Codes: The Bare Minimum, 404 (“Not Found”)
- database-backed control flow, PUT
- “Not Implemented” 501 response code, 501 (“Not Implemented”)
- “Not Modified” 304 response code, Conditional GET, 304 (“Not Modified”)
- Nottingham, Mark, POST Once Exactly
- NRE (Noelios Restlet Engine), Restlet
O
- object (RDF assertion), RDF and RDFa
- object-oriented design of S3, Object-Oriented Design of S3–What If S3 Was a Standalone Library?
- object-relational mapping (ORM), Create the Data Model
- objects, The Programmable Web and Its Inhabitants
- “OK” 200 response code, HTTP Response Codes, What’s Supposed to Happen?, What Might Go Wrong?, PUT, 200 (“OK”)
- modifying resources, What’s Supposed to Happen?
- open-uri library, Optional Features, Processing the Response: XML Parsers
- OpenSearch, OpenSearch
- “Method Not Allowed” 405 response code, POST Once Exactly
- OPTIONS method, Making the Request: HTTP Libraries, HEAD and OPTIONS
- uniform interface and, The Uniform Interface
- org.w3c.dom.* package, Java: javax.xml, Xerces, or XMLPull
- org.xml.sax.* package, Java: javax.xml, Xerces, or XMLPull
- ORM (object-relational mapping), Create the Data Model
- outgoing representations, Outgoing Representations
- overloaded POST, Overloaded POST: The not-so-uniform interface, Overloading POST
- PUT/DELETE, faking, Faking PUT and DELETE
- safety and idempotence, Safety and Idempotence
- URI design and, URI Design
P
- params parameter, using list item resources and, param[:id] for things that aren’t IDs
- Park Place, Parting Words
- parsers (XML), Processing the Response: XML Parsers
- “Partial Content” 206 response code, 206 (“Partial Content”)
- path variables
- designing URIs, URI Design
- encoding hierarchy into, Encode Hierarchy into Path Variables–Scale
- paths (URI), HTTP: Documents in Envelopes
- “Payment Required” 402 response code, 402 (“Payment Required”)
- Perl, Other Languages
- XML parsers, Other Languages
- permanent URIs, Permanent URIs Versus Readable URIs
- PHP, PHP: libcurl
- XML parsers, PHP
- Pilgrim, Mark, WSSE username token
- places as resources, Split the Data Set into Resources
- PNG format, Representing Maps and Points on Maps
- POE (POST Once Exactly), POST Once Exactly
- POE request header, POE
- POE-Links header, POE-Links
- POST method, Method Information, Making the Request: HTTP Libraries, POST–Overloaded POST: The not-so-uniform interface, Expose a Subset of the Uniform Interface
- ActiveResource clients and, An ActiveResource Client
- APP resources and, Summary
- caching and, Default caching rules
- objects, creating, The Bookmarks Controller
- Once Exactly (POE), POST Once Exactly–POST Once Exactly
- overloading, Overloaded POST: The not-so-uniform interface, Safety and Idempotence, Overloading POST, URI Design
- resources, creating/appending, POST for creating a new resource
- Ruby controllers and, Resources, Controllers, and Views
- S3, Resources
- subordinate resources, creating, Design the Representation(s) Accepted from the Client
- uniform interface and, The Uniform Interface
- user controllers and, The User Controller
- versus PUT, New Resources: PUT Versus POST
- web applications and web services and, Web Applications as Web Services
- postNewAtomMember method (Atom), Describing an APP collection
- Pragma header, Pragma
- “Precondition Failed” 412 response code, 412 (“Precondition Failed”)
- prepackaged control flows, Prepackaged Control Flows–POST Once Exactly
- privacy (user accounts), Authentication, Authorization, Privacy, and Trust–Authentication, Authorization, Privacy, and Trust
- private access policy, Setting Access Policy
- programmable web, The Programmable Web and Its Inhabitants–Leftover Terminology
- technologies on, Technologies on the Programmable Web–WADL
- Prototype, Prototype
- “Proxy Authentication Required” 407 response code, 407 (“Proxy Authentication Required”)
- proxy caches, Addressability
- Proxy-Authenticate header, Proxy-Authenticate
- Proxy-Authorization header, Proxy-Authorization
- ProxyPass, Request Proxying
- public-read access policy, Setting Access Policy
- public-write access policy, Setting Access Policy
- pull parsers, Processing the Response: XML Parsers
- PUT method, Method Information, GET, PUT, and DELETE
- ActiveResource clients and, An ActiveResource Client
- APP resources and, Summary
- caching and, Default caching rules
- database-backed control flow and, PUT
- faking, Faking PUT and DELETE
- HTTP libraries and, Making the Request: HTTP Libraries
- overloading
- PUT/DELETE, faking, Faking PUT and DELETE
- Ruby controllers and, Resources, Controllers, and Views
- S3, Resources, The S3 Object
- S3::Bucket#put, The Bucket
- safety and idempotence, Safety and Idempotence
- uniform interface and, The Uniform Interface
- user controllers and, The User Controller
- UsersController and, The UsersController
- versus POST, Creating subordinate resources, New Resources: PUT Versus POST
- web applications and web services and, Web Applications as Web Services
- Python
- clients, A Python Client for the Simple Service
- httplib2, Python: httplib2
- XML parsers, Python: ElementTree
Q
- query strings, Design the Representation(s) Accepted from the Client
- query variables, Algorithmic Resource? Use Query Variables–Algorithmic Resource? Use Query Variables
- URI design and, URI Design
R
- Rails, Ruby on Rails–Conclusion
- Range request header, Range
- RDF (Resource Description Framework), RDF and RDFa
- read-only resource-oriented services, Designing Read-Only Resource-Oriented Services–Conclusion
- read-only web services, REST-RPC Hybrid Architectures
- read/write resource-oriented services, Designing Read/Write Resource-Oriented Services–A Look Back at the Map Service
- readable URIs, Permanent URIs Versus Readable URIs
- recent bookmark controller, The Recent Bookmarks Controller
- redirect loops, Optional Features
- redirection, 3xx: Redirection–307 (“Temporary Redirect”)
- Referer request header, Referer
- regular expressions (Django), The bookmark list view
- rel attribute (link tag), XHTML 4 links
- rel HTML attributes, XHTML
- rel-license microformat specification, XHTML with Microformats
- rel-nofollow microformat specification, XHTML with Microformats
- rel-tag microformat specification, XHTML with Microformats
- reliable messaging, Reliable Messaging
- Remote Procedure Calls (RPC), URI
- repetition model (XHTML), Link the Resources to Each Other
- representations, Representations–Deciding Between Representations, Resource-Oriented Basics
- addressability and, Representations Should Be Addressable
- designing, Design Your Representations–Representing Lists of Search Results, Design the Representation(s) to Be Served to the Client, Design the Representation(s) Accepted from the Client–Design the Representation(s) Served to the Client
- entity-body, HTTP: Documents in Envelopes
- formats, Representation Formats–The character encoding of a JSON document
- incoming, Incoming Representations
- outgoing, Outgoing Representations
- outgoing/incoming, Outgoing Representations
- S3, The Bucket List
- “Request Entity Too Large” 413 response code, 413 (“Request Entity Too Large”)
- request headers, HTTP: Documents in Envelopes
- request signing, Request Signing and Access Control–Setting Access Policy
- “Request Timeout” 408 response code, 408 (“Request Timeout”)
- “Request-URI Too Long” 414 response code, 414 (“Request-URI Too Long”)
- “Requested Range Not Satisfiable” 416 response code, 416 (“Requested Range Not Satisfiable”)
- resource
- Resource Description Framework (RDF), RDF and RDFa
- Resource-Oriented Architecture (ROA), RESTful, Resource-Oriented Architectures, The Resource-Oriented Architecture–That’s It!, REST and ROA Best Practices–What Problem Does this Solve?
- addressability, Addressability–Addressability
- basics, Resource-Oriented Basics
- procedure, The Generic ROA Procedure
- read/write, designing, Designing Read/Write Resource-Oriented Services–A Look Back at the Map Service
- representations and, Representations
- URIs, URIs–The Relationship Between URIs and Resources
- versus Big Web Services, The Resource-Oriented Architecture Versus Big Web Services–Conclusion
- resources, Resources, Designing Read/Write Resource-Oriented Services–A Look Back at the Map Service, Resource-Oriented Basics, Resources, Controllers, and Views
- connecting, Connect Resources to Each Other
- data sets, splitting into, Split the Data Set into Resources
- design, Resource Design–Implementation: The routes.rb File, Resource Design–When In Doubt, Make It a Resource
- Django, implementing views, Implement Resources as Django Views–Further directions
- relationships between, Relationships Between Resources
- URIs, naming resources with, Name the Resources with URIs
- user accounts, User Accounts as Resources–What Might Go Wrong?
- resources, defining, Define Resources and Give Them URIs
- response codes (HTTP), HTTP: Documents in Envelopes, HTTP Response Codes, The HTTP Response–Conclusion, Handling the Response, The HTTP Response Code Top 42
- database-backed control flow, PUT
- responseXML parser (JavaScript), JavaScript: responseXML
- REST (Representational State Transfer), sending representations and, State and Statelessness
- rest-open-uri library, Ruby: rest-open-uri and net/http
- rest-open-uri, installing, Ruby: rest-open-uri and net/http
- Restlet (Java), A Service Implementation, Frameworks for RESTful Services, Restlet–Conclusion
- services, writing, Writing Restlet Services–Compiling, running, and testing
- Retry-After response header, Retry-After
- rev attribute (link tag), XHTML 4 links
- rev HTML attributes, XHTML
- REXML, Ruby: REXML, I Guess–Python: ElementTree
- REXML::document parser, Ruby: rest-open-uri and net/http
- ROA (see Resource-Oriented Architecture)
- routing (Rails), Routing
- RPC (Remote Procedure Calls), URI
- RPC-style architectures, RPC-Style Architectures
- Ruby
- Amazon Web Services and, The Programmable Web and Its Inhabitants
- HTTP client libraries, Ruby: rest-open-uri and net/http
- on Rails, Ruby on Rails–The Rails/ROA Design Procedure
- XML parsers and, Ruby: REXML, I Guess–Python: ElementTree
S
- S3 (Simple Storage Service), The Programmable Web and Its Inhabitants, Introducing the Simple Storage Service–Parting Words
- addressability, Addressability
- client, An S3 Client–The S3 Object
- library, using, Using the S3 Client Library
- connectedness and, Why Connectedness Matters
- request signing and access control, Request Signing and Access Control–Setting Access Policy
- S3::Bucket#delete method, The Bucket
- S3::Bucket#put method, The Bucket
- s3sh (command shell for Ruby), The Programmable Web and Its Inhabitants, Wrappers, WADL, and ActiveResource
- safety (HTTP methods), Safety and Idempotence–Why safety and idempotence matter
- SAX parsers, Processing the Response: XML Parsers
- scoping information, Scoping Information
- encoding hierarchy into path variables and, Encode Hierarchy into Path Variables–Scale
- script tag, Dynamically writing the script tag
- search results, representing lists of, Representing Lists of Search Results–Representing Lists of Search Results
- “Secret Access Key” (Amazon), An S3 Client
- secret keys (S3 requests), Request Signing and Access Control
- Secure Socket Layer (see SSL)
- security, Security
- “See Other” 303 response code, What Might Go Wrong?, 303 (“See Other”)
- SELECT statement (SQL), An ActiveResource Client
- semicolons (;) scoping information, No Hierarchy? Use Commas or Semicolons–Scale
- server-side errors, 5xx: Server-Side Error
- service documents (APP), Service document
- “Service Unavailable” 503 response code, What Might Go Wrong?, What Might Go Wrong?, 503 (“Service Unavailable”)
- service versioning, Service Versioning
- Service-Oriented Architecture (see SOA)
- Service-Trampled REST (STREST), Leftover Terminology
- services, The Building Blocks of Services–Is WADL evil?
- Restlet, writing, Writing Restlet Services–Compiling, running, and testing
- session affinity, Application State Versus Resource State
- session replication, Application State Versus Resource State
- sessions (HTTP), Statelessness
- Set-Cookie response header, Set-Cookie
- signatures, Security
- Simple Storage Service (S3), The Programmable Web and Its Inhabitants, Introducing the Simple Storage Service–Parting Words
- addressability, Addressability
- client, An S3 Client–The S3 Object
- library, using, Using the S3 Client Library
- connectedness and, Why Connectedness Matters
- request signing and access control, Request Signing and Access Control–Setting Access Policy
- simple-http (Common Lisp), Other Languages
- Slug request header, Slug
- Snell, James, Resource-Oriented What Now?
- SOA (Service-Oriented Architecture), Leftover Terminology, BPEL, ESB, and SOA
- SOAP, Method Information, SOAP, SOAP–The Resource-Oriented Alternative
- POST method, overloading, Overloading POST
- REST as a competitor to, Leftover Terminology
- S3 and, Resources
- security and, Security
- SQL databases, An ActiveResource Client, Database-Backed Control Flow
- square brackets ([ ]), using XPath, Web Services Are Web Sites
- SSL (Secure Sockets Layer), The Resource-Oriented Alternative
- certificates, Making the Request: HTTP Libraries
- standard libraries, The Programmable Web and Its Inhabitants
- standardization, Description Through Standardization
- startindex element (OpenSearch), OpenSearch
- state (see statelessness)
- statelessness, State and Statelessness, Why Statelessness Matters
- application state versus resource state, Application State Versus Resource State
- ROA, Statelessness–Application State Versus Resource State
- STREST (Service-Trampled REST), Leftover Terminology
- subject (RDF assertion), RDF and RDFa
- subordinate resources, Expose a Subset of the Uniform Interface
- creating, Creating subordinate resources
- HTTP POST requests, creating with, Design the Representation(s) Accepted from the Client
- Sun Web Services Developer Pack, Java: javax.xml, Xerces, or XMLPull
- SVG format, Representing Maps and Points on Maps, SVG
- “Switching Protocols” 101 response code, 101 (“Switching Protocols”)
T
- table HTML tag, XHTML
- tags, del.icio.us: The Sample Application
- management for, Remodeling the REST Way
- TagSoup XML parser, Java: javax.xml, Xerces, or XMLPull
- TCP/IP sockets, What the Sample Clients Do
- TE request header, TE
- “Temporary Redirect” 307 response code, 307 (“Temporary Redirect”)
- terminology of web services, Kinds of Things on the Programmable Web
- text/html media, XHTML
- text/xml media, XML and HTTP: Battle of the encodings
- TLS (Transport Layer Security), The Resource-Oriented Alternative
- totalResults element (OpenSearch), OpenSearch
- Totty, Brian, Caching
- to_xml (Rails), Design the Representation(s) Served to the Client
- connecting resources and, Connect Resources to Each Other
- Framework-specific serialization formats, Framework-Specific Serialization Formats
- TRACE method, Making the Request: HTTP Libraries
- Trailer response header, Trailer
- transactions, Transactions, Transactions
- Transfer-Encoding header, Transfer-Encoding
- Transport Layer Security (TLS), The Resource-Oriented Alternative
- tree-style parsers, Processing the Response: XML Parsers
- triple (RDF assertion), RDF and RDFa
- trust (user accounts), Authentication, Authorization, Privacy, and Trust–Authentication, Authorization, Privacy, and Trust
U
- UDDI, UDDI
- ul HTML tag, XHTML
- “Unauthorized” 401 response code, Basic authentication
- “Unauthorized” 401 response code, What Might Go Wrong?, What Might Go Wrong?, 401 (“Unauthorized”)
- unauthorized access, What Might Go Wrong?
- Unicode, Encoding Issues
- parsing XML and, Python: ElementTree
- Uniform class (Restlet), Basic Concepts
- uniform interface, The Resource-Oriented Architecture, Why the Uniform Interface Matters, The Uniform Interface–Overloading POST, Why the Uniform Interface Matters
- exposing subsets of, Expose a Subset of the Uniform Interface, Expose a Subset of the Uniform Interface
- Universal Encoding Detector, Encoding Issues
- Universal Product Codes (UPCs), RPC-Style Architectures
- Universal Resource Identifier (see URIs)
- “Unsupported Media Type” 415 response code, What Might Go Wrong?, What Might Go Wrong?, 415 (“Unsupported Media Type”)
- database-backed control flow, Database-Backed Control Flow
- “Unused” 306 response code, 306: Unused
- UPCs (Universal Product Codes), RPC-Style Architectures
- UPDATE statement (SQL), An ActiveResource Client
- Upgrade request header, Upgrade
- URI Templating, Link This Resource to Existing Resources
- URIs (Universal Resource Identifier), The Programmable Web and Its Inhabitants, RPC-Style Architectures, URI, URI Recap
- addressability and, Addressability
- bookmarks and, del.icio.us: The Sample Application–What the Sample Clients Do, The Bookmarks Controller
- controller, The URI Controller
- design, URI Design
- Django and, Define Resources and Give Them URIs
- permanent versus readable, Permanent URIs Versus Readable URIs
- resources, naming, Name the Resources with URIs, Name the Resources with URIs
- ROAs and, URIs–The Relationship Between URIs and Resources
- signing, Signing a URI
- templates, URI Templates
- using maximum length workarounds, Overloading POST
- web clients, writing, Web Services Are Web Sites
- “URL as UI” (Nielsen, Jakob), Permanent URIs Versus Readable URIs
- urllib2 HTTP client, Python: httplib2, Python: httplib2
- URLs (see URIs)
- US-ASCII encoding, Encoding Issues
- “Use Proxy” 305 response code, 305 (“Use Proxy”)
- user accounts, User Accounts as Resources–What Might Go Wrong?, Remodeling the REST Way
- linking resources, Link This Resource to Existing Resources–Link This Resource to Existing Resources
- user controllers, The User Controller
- user tags controller, The User Tags Controller
- User-Agent request header, User-Agent
- UsersController, The UsersController–The UsersController
- UsersController#create Rails method, The User Controller
- UsersController#destroy Rails method, The User Controller
- UsersController#index Rails method, The User Controller
- UsersController#show Rails method, The User Controller
- UsersController#update Rails method, The User Controller
- UTF-8 encoding, Encoding Issues
V
- values (S3), A Few Words About Objects
- Vary response header, Vary
- VBScript, From AJAX to Ajax
- vCard, Ad Hoc XHTML
- Via header, Via
- views, Resources, Controllers, and Views
- Django, implementing resources as, Implement Resources as Django Views–Further directions
- VirturalHost class (Restlet), Basic Concepts
- VoteLinks, XHTML with Microformats
W
- W-* technologies, WS-*
- W3C’s HTML validator, The Bookmarks Controller
- WADL (Web Application Description Language), WADL, Wrappers, WADL, and ActiveResource, Clients Made Easy with WADL, Clients Made Transparent with ActiveResource, The Resource-Oriented Alternative
- hypermedia technologies and, Hypermedia Technologies, WADL–Is WADL evil?
- Warning response header, Warning
- Web Accelerator, Why safety and idempotence matter
- Web Application Description Language (see WADL)
- Web Hypertext Application Technology Working Group (WHATWG), XHTML 5
- web interfaces and applications, Applications with a Web Interface–Applications with No Web Interface
- web service clients (see clients)
- Web Service Description Language (see WSDL)
- Web Services Developer Pack (Sun), Java: javax.xml, Xerces, or XMLPull
- WebDAV, Why the Uniform Interface Matters
- WeblogsController class, Routing
- WHATWG (Web Hypertext Application Technology Working Group), XHTML 5
- Windows-1252 encoding, Encoding Issues
- wrapper libraries, Web Services Are Web Sites
- wrappers, Wrappers, WADL, and ActiveResource
- WS-Addressing standard, Kinds of Things on the Programmable Web
- WS-ReliableMessaging, Reliable Messaging
- WS-Security Extension (see WSSE HTTP authentication)
- WSDL (Web Service Description Language), Method Information, WSDL, WSDL
- POST method, overloading, Overloading POST
- WSSE HTTP authentication, Optional Features, Authentication, Authorization, Privacy, and Trust, WSSE username token–WSSE username token
- WWW-Authenticate header, What Might Go Wrong?, WWW-Authenticate
- Basic authentication and, Basic authentication
- Digest authentication and, Digest authentication
- WSSE HTTP authentication and, WSSE username token
X
- x-amz-acl header, Setting Access Policy
- X-HTTP-Method-Override request header, X-HTTP-Method-Override
- X-WSSE request header, X-WSSE
- Xerces, Java: javax.xml, Xerces, or XMLPull
- XFN (XHTML Friends Network), XHTML with Microformats
- xFolk microformat specification, XHTML with Microformats
- XHTML, Representing the List of Planets, XHTML–XHTML, XHTML 5
- ad hoc, Ad Hoc XHTML
- microformats, XHTML with Microformats–XHTML with Microformats
- XHTML 4, XHTML 4–Shortcomings of XHTML 4
- XMDP (XHTML Meta Data Profiles), XHTML with Microformats
- XML, Kinds of Things on the Programmable Web
- ActiveRecord and, Design the Representation(s) Served to the Client
- ad hoc vocabularies, Other XML Standards and Ad Hoc Vocabularies
- encodings and, XML and HTTP: Battle of the encodings
- parsers, Processing the Response: XML Parsers
- representation of user accounts, Design the Representation(s) Accepted from the Client
- SOAP, using, SOAP–The Resource-Oriented Alternative
- XHTML and, XHTML
- XML-RPC requests and, RPC-Style Architectures
- XML for <SCRIPT>, JavaScript: responseXML
- XML-RPC, RPC-Style Architectures, XML-RPC
- POST method, overloading, Overloading POST
- xml.sax module (Python), Python: ElementTree
- XML::LibXML::Reader module (Perl), Other Languages
- XML::SAX::PurePerl module (Perl), Other Languages
- XML::Simple module (Perl), Other Languages
- XML::XPath modules (Perl), Other Languages
- XMLHttpRequest (JavaScript), JavaScript: XMLHttpRequest, JavaScript: responseXML, Ajax Applications as REST Clients, Making the Request
- cross-browser issues and, Cross-Browser Issues and Ajax Libraries
- XMLPull, Java: javax.xml, Xerces, or XMLPull
- xml_parser_create function (PHP), PHP
- XOXO (Extensible Open XHTML Outlines), XHTML with Microformats
- XPath, Method Information, What the Sample Clients Do, Processing the Response: XML Parsers, Writing Restlet Clients
- exposition, Web Services Are Web Sites
- S3 and, The Bucket List
Y
- YAGNI (You Aren’t Gonna Need It), Conclusion
- Yahoo! web services, RESTful, Resource-Oriented Architectures
- searching the Web with, Web Services Are Web Sites
- user accounts and, User Accounts as Resources
Get RESTful Web Services now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.