Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
34 Cards in this Set
- Front
- Back
What makes an API RESTful? |
The REST API Architecture and the 6 constraints used as guidelines to develop the API |
|
What are the RESTful Constraints? Which is optional? |
Client / Server, Stateless, Uniform Interface, Cache, Layered System, Code on Demand (optional) |
|
What are the 4 sub-constraints that make up the "Uniform Interface" RESTful Constraint? |
Self Descriptive Messages, Static Identifiers of Resources, Resource Manipulation through Representation, Hypermedia is the Engine of Application State (HATEOS) |
|
What are the two common types of Pagination, and which one is preferred? |
Off-set and Key-set Pagination, Key-Set is preferred because it does not rely on arbitrary values and can be uniformly applied |
|
What API Fields are required to get a 200 OK response for a "GET" Request? |
"GET" Method, URI / URL, HTTP Version, Header and Body Optional |
|
What API Fields are required to get a 200 OK response for a "POST" Request? |
"POST" Method, URI / URL, HTTP Version, Content Type and Content Length, Header and Body are Optional |
|
What services secure HTTP Requests with Plain Text or Base64 encoded Data? |
SSL or TLS |
|
What are the 3 types of REST API? |
Service, Information, and Hardware |
|
What are the 3 types of Access Levels for a REST API? |
Public, Partner, Private |
|
Where is a Query String located within an RESTful API Request? Where in the URI? |
The Query String would go in the Body of a RESTful API Request, and is the ?x=something portion at the end of the URI |
|
What does the Y-Axis and X-Axis represent in an API Sequence Diagram? |
The Y-Axis (Vertical) represents a time line of events in the sequence, the X-Axis (Horizontal) represents the devices in the sequence of events such as Client / Front End Systems / Back End Systems |
|
How does "caching" improve RESTful API performance? What is cached? |
This is a RESTful Constraint that a RESTful API must inform the Client if the Response can be cached, this allows the Client to use the Cached response for as long as it stays valid |
|
What is Rate-Limiting? What issues does Rate-Limiting an API solve? |
Rate-Limiting controls the max allowed TPS (Transactions Per Second) on the Server, it provides Software stability and consistency as it maintains a stable constant throughput, and helps with Security by not allowing Servers to become overwhelmed with Requests like a DDoS |
|
What REST API Method is used to get Response Header information from a Resource? |
"HEAD" |
|
What are the 4 main strategies to perform API Versioning with no service disruption? |
URI Path (different URI), Query Parameter (Adjust Query in URI), Custom Header (Uses 'attribute' in Custom Header), Content Negotiation (Uses Resource Representation to point to a Version) |
|
What Python Library must be installed via PIP and imported into a script to make REST API Calls? |
"Requests" |
|
Describe how a WebHook works. |
It is a "Reverse API" in the way that it is event driven / triggered to Automatically make a POST Request to the WebHook Server it is subscribed to so events can push alerts / track events |
|
When does a WebHook not send an event driven POST Request? Ever? |
When the WebHook is first configured with a target Server, it sends a "GET" Request for a validation Token if available from the server |
|
What field do WebHooks use to Request the Token from their target Server? |
"/validationKey" |
|
What API Method allows you to find out what Methods a remote Server will accept? |
"OPTIONS" |
|
What direction is a RESTful API in a Controller Based Topology like DNA Center? |
"Northbound" |
|
What is HATEOS sub-constraint? How does it help RESTful APIs keep data flowing? |
HATEOS uses "HyperMedia" or HTTP Links within Responses to help Clients with future API Calls by embedding web links in Responses |
|
What are YAML Scalars? What are YAML Dictionary Mappings? |
Scalars are Key:Value pairs in YAML, Dictionary Mappings are a group of Nested Scalars |
|
What is the difference between Authentication and Authorization? |
Authentication is proving who you are, Authorization is what you can access |
|
What does Stateless mean? How does that Constraint help RESTful APIs? |
Stateless means that a Server should have all the information to process a Client Request in a single Request, this helps to Load-Balance traffic across multiple Servers because they are not tracking the "State" of any Client Requests |
|
What API Method is used to create an SSL Connection through Proxy Servers? |
"Connect" |
|
Why is Code on Demand an optional Constraint? |
Code on Demand is optional because it is generally pieces of code in the form of a script sent back to the Client to execute, however if no Code is needed for the API, Code on Demand is not necessary but an option |
|
What are the benefits / defining features of the "Layered System" Constraint? |
Layers are the Architecture or Infrastructure of the Server(s) such as Load-Balancers / Proxy Servers / Etc, and they are defined by being easy to add or remove a Layer of the System without Service Disruption to the API Servers |
|
What are considered REST Tools? |
Postman, curl, HTTPie, Python, Developer Tools within Web Browsers |
|
What modifier command using "curl" will tell it to ignore HTTPS Certificate Validation? |
"-insecure" |
|
Why is Monetization a consideration when it comes to API Rate-Limiting? |
To show value as a developer, the API must remain Stable and Consistent in its connectivity, which in turn can allow developers to offer tiered pricing for API Calls / Extra resources to a company as needed once the Value is realized through stable consistent connection via Rate-Limiting API Calls to Servers |
|
What is the default language used for a RESTful API Request / Response? |
JSON |
|
What is the "Diagnostic" API Method? |
"TRACE" - It sends a test Request to the Server to see what functions it performs and the Response it sends back to this Method type |
|
What can Postman API Tool accomplish with "Collections"? |
It can run them in a sequenced order of Requests, and also trigger new Requests to be sent based on Response output |