Glossary

Ajax

Originally an acronym, Asynchronous JavaScript and XML, allows the client to send and retrieve data from the server without reloading the page.

API

Programming Interfaces enable software to interact with other software through exposed functionality.

API Key

An authorization code passed in to an API request via a header or parameter to identify the requester.

Authentication

Identifying the user of the API. Common techniques for authentication include API Keys and OAuth.

CORS

Cross Origin Requests allow JavaScript in websites to do AJAX requests to domains beyond the one initiating the request.

Cache

A collection of responses that are reused by the client to improve performance.

Client

The client is the initiating party that sends an API request. Often times there will be many clients consuming the same API.

Collection

An API resource that groups other resources together.

Collection+JSON

A hypermedia-type for the management and querying of simple collections.

Delete

The HTTP method for deleting resources with a RESTful API.

DOM

The Document Object Model defines a standard way to represent and interact with objects within both HTML and XML documents.

Endpoint

The URI that goes after the base URL and points towards the requested API functionality.

Entity Tag

Header which designates a version of a representation. Useful for caching and/or conditional requests.

Expires

A header that tells the client it may cache a response until a certain time.

GET

The HTTP method for retrieving resources from a RESTful API.

Gateway

A proxy that translates between protocols.

HATEOAS

Hypermedia as the Engine of Application State is feature of the REST architecture allowing the client to navigate through hypermedia exposed by the API.

HTTP

Hypertext Transfer Protocol is how websites and APIs communicate over the internet.

HTTP Method

The part of an HTTP request that tells the server what the client wants to do.

HTTPS

Hypertext Transfer Protocol Secure is how websites and APIs communicate securely over the internet.

Header

The header is what's sent preceding the body of an HTTP request or response.

Host

Header containing the domain name of the request URL.

Hypermedia

Any content type which allows entities to link to each other in a standardized way, making other entities discoverable from a client.

Idempotent

When the side-effects of multiple requests are the same as a single request. GET, PUT, and DELETE are idempotent methods.

If-Modified-Since

Header which asks to get a representation only if the representation has changed since last request. Used for conditional GET requests.

JSON

JavaScript Object Notation is a data format commonly used for APIs requests parameters and response body.

JSON+HAL

A hypermedia-type which normalizes the hyperlinking and the embedding of resources.

JSONP

JSON with Padding is a technique used to overcome the cross-domain restrictions imposed by browsers to allow data to be retrieved from systems other than the one the page was served by.

Last-Modified

Header which tells client the last time representation changed. Important for conditional If-Modified-Since requests.

Latency

The time it takes for the API request to go from the request to the response.

Link

A fully-qualified HTTP address for a particular resource (e.g., "http://my.api.com/v1/resources/resource-name"). RESTful APIs by definition should provide links from a resource to all related resources and collections which provide subsequent actions using the resource. This allows for an API to be traversed organically and for an application developer to ensure his API Client is not in (as much) jeopardy if a resource's location changed.

Location

Header which provides information about the location of a newly created resource or which asks web browser to load a different web page.

Mashup

Combining multiple APIs to create a new web application.

Media Type

Identifier used to indicate the type of data that a file contains.

Microformat

An industry standard of semantic mark-up used to describe the contents of a document.

OAuth

Open standard authorization framework. Grants access on behalf of an end-user without directly sharing credentials.

POST

The HTTP method for creating resources with a RESTful API.

PUT

The HTTP method for updating resources with a RESTful API.

Parameter

A parameter is an argument sent to the API which helps define the request and expected response.

Pipelining

The client sends several HTTP requests at once and the server responds in the order it receives the requests.

Protocol

A defined way of transferring data between peers.

Proxy

An intermediary for requests from clients and servers providing resources.

RDF

Resource Description Framework. Framework that is focused on semantic content.

REST

Representational state transfer is an architectural pattern for interacting with resources via HTTP methods.

Rate-Limiting

Limiting the consumption of an API to a certain number of requests per period of time.

Representation

Data that describes the state of a resource. Often the body of an HTTP request/response.

Resource

A resource is some object or entity that has a URI where it can be manipulated through HTTP requests.

SLA

Service Level Agreements are a form of contract between a service provider and consumer defining expected performance metrics.

SOAP

Simple Object Access Protocol is a specification for exchanging structured information over the internet.

SSL

A cryptographic protocol that secures traffic on the internet.

Safe

When calling a method on a resource would be the same as doing nothing. GET is a safe method.

Semantic Content

Adding meaning to web resources through the use of specialized tags.

Server

The server is software or hardware that provides a service by responding to requests across a network.

Set-Cookie

Header that sets a cookie on the client side.

Stateless

The server doesn't store client context in between requests.

Status Code

HTTP status codes are what the server sends in the response back to the client with regards to the status of the request.

URI

Unique Resource Identifier

User-Agent

Header which lets the server know what kind of software is making the request. It contains information about the user agent originating the request. This header should be used for statistical purposes or automated user agent recognition to handle the particular software limitations.

Versioning

Assigning a unique identifier to keep track of the state of the API. If changes are made to the API, the version should change.

Web Service

Web Service is used to describe an API that is accessible over the internet through HTTP.

XML

Extensible mark-up language is a format that is used to describe documents and data.

cURL

Command Line Interface to HTTP. Extremely popular for testing APIs and the building block for many client libraries.