Skip to content

Application Programming Interfaces

Best Practices

img

Tools

API Architectures Styles

img

HTTP - Hypertext Transfer Protocol

img img

Performance

img

HTTP Haders

img

HTTP Status Codes

Informational 1xx

Success 2xx

These codes indicate success. The body section if present is the object returned by the request. It is a MIME format object. It is in MIME format, and may only be in text/plain, text/html or one fo the formats specified as acceptable in the request.

Redirection 3xx

The codes in this section indicate action to be taken (normally automatically) by the client in order to fulfill the request.

Client side errors 4xx

The 4xx codes are intended for cases in which the client seems to have erred, and the 5xx codes for the cases in which the server is aware that the server has erred. It is impossible to distinguish these cases in general, so the difference is only informational.

The body section may contain a document describing the error in human readable form. The document is in MIME format, and may only be in text/plain, text/html or one for the formats specified as acceptable in the request.

Server side error 5xx

This means that even though the request appeared to be valid something went wrong at the server level and it wasn’t able to return anything.

REST - Representational State Transfer

img img img img img

SSO - Single Sign On

img

WebHooks

img img img

JSON Web Tokens - JWT

img

Rate limit vs. Throttle

Rate Limiting

Throttling

Comparison

In short, while both concepts aim to protect resources and maintain system performance, rate limiting is more focused on limiting the number of requests from a specific client in a given period of time, while throttling is more concerned with equitable distribution and maintaining system stability under high load.

Idempotency

img img

What is Idempotency?

Why is Idempotency Important?

Idempotent vs. Safe

Idempotent Methods in REST

HTTP Methods

POST

GET

PUT

PATCH

DELETE

TRACE

POST vs PUT vs PATCH