1. HTTP Verbs
┣ 🚀 GET : Retrieve data from the server
┣ 🚀 POST : Send data to the server to create a resource
┣ 🚀 PUT : Send data to the server to update a resource
┣ 🚀 PATCH : Send data to the server to update a resource partially
┣ 🚀 DELETE : Delete a resource from the server.
┣ 🚀 TRACE : Returns the full HTTP request received by the server for debugging and diagnostic purposes.
┣ 🚀 OPTIONS : Returns the HTTP methods supported by the server for the requested URL.
┣ 🚀 CONNECT : Converts the request connection to a transparent TCP/IP
tunnel for secure communication.
┣ 🚀 PURGE : Invalidates a cached resource.
┣ 🚀 LOCK : Locks the resource for exclusive use by the client.
┣ 🚀 UNLOCK : Unlocks the resource previously locked by the client.
┣ 🚀 MKCOL : Creates a new collection resource.
┣ 🚀 COPY : Copies the resource identified by the Request-URI to the destination URI.
2. HTTP Status Codes
┣ 🚦1xx : Informational
┣ 🚦2xx : Success
┣ 🚦3xx : Redirection
┣ 🚦4xx : Client Errors
┣ 🚦5xx : Server Errors
3. Response Headers
┣ 🌐 Content-Type : Specifies the MIME type of the data in the response body.
┣ 🌐 Content-Length : Specifies the length of the response body in bytes.
┣ 🌐 Cache-Control : Specifies the caching behavior of the response.
┣ 🌐 Location : Specifies the URI of a resource that can be used to
retrieve the requested resource.
┣ 🌐 Server : Specifies the name and version of the server software that generated the response.
┣ 🌐 Access-Control-Allow-Origin : Specifies which origins are allowed to access the resource.
┣ 🌐 Set-Cookie : Specifies a cookie that should be stored by the client and sent back to the server with future requests.
┣ 🌐 Expires : Specifies the date and time after which the response is considered stale.
┣ 🌐 Last-Modified : Specifies the date and time the resource was last modified.
4. API Design
┣ 💻 REST : Representational State Transfer, a design pattern for
building web services.
┣ 💻 SOAP : Simple Object Access Protocol, a messaging protocol for
exchanging structured data.
┣ 💻 GraphQL : A query language and runtime for building APIs.
┣ 💻 API Gateway : A service that manages, protects, and scales APIs.
5. API Architectures
┣ 🏢 SOA : Service-Oriented Architecture, an architectural style for building distributed systems.
┣ 🏢 Microservices : An architectural style for building complex
applications as a suite of small, independent services.
┣ 🏢 Serverless : A cloud computing execution model where the cloud
provider manages the infrastructure and automatically allocates resources
as needed.
┣ 🏢 Event-Driven : An architectural style where the flow of data between components is triggered by events.
┣ 🏢 RESTful API : An architectural style that uses HTTP requests to GET, POST, PUT, and DELETE data.
6. API Design Patterns
┣ 🧩 Adapter Pattern : A pattern that converts the interface of a class into another interface that clients expect.
┣ 🧩 Decorator Pattern : A pattern that adds behavior to an individual object dynamically.
┣ 🧩 Proxy Pattern : A pattern that provides a surrogate or placeholder for another object to control access to it.
┣ 🧩 Chain of Responsibility Pattern : A pattern that delegates commands to a chain of processing objects.
┣ 🧩 Observer Pattern : A pattern that defines a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
7. API Security
┣ 🔑 OAuth : An open standard for authorization used for protecting APIs.
┣ 🔑 JWT : JSON Web Tokens, a standard for securely transmitting
information between parties as a JSON object.
┣ 🔑 _ SSL/TLS_ : Secure Sockets Layer/Transport Layer Security, a protocol for establishing a secure connection between a client and a server.
┣ 🔑 API Key : A secret token used to authenticate API requests.
┣ 🔑 Rate Limiting : A technique used to limit the number of requests that can be made to an API over a specific period of time.
┣ 🔑 OpenID Connect : An authentication layer built on top of OAuth that allows users to be authenticated across multiple domains.
┣ 🔑 Cross-Origin Resource Sharing (CORS) : A mechanism that allows many resources (e.g., fonts, JavaScript, etc.) on a web page to be requested from another domain outside the domain from which the resource originated .
8. API Testing
┣ 🧪 Postman : A popular tool for testing and debugging APIs.
┣ 🧪 SoapUI : A tool for testing SOAP and REST web services.
┣ 🧪 Swagger : A tool for designing, building, and testing APIs.
┣ 🧪 _ JMeter_ : A tool for testing the performance of APIs.
┣ 🧪 TestRail : A test management tool for planning, executing, and
tracking API tests.
┣ 🧪 Dredd : A command-line tool for testing API documentation against its backend implementation.
┣ 🧪 REST Assured : A Java-based library for testing RESTful APIs.
┣ 🧪 Karate DSL : A testing framework for API testing using Gherkin syntax.
┣ 🧪 HttpMaster : A tool for testing and debugging APIs.
┣ 🧪 Assertible : A tool for testing and monitoring APIs with automated tests.
9. API Development
┣ 🧑🏻💻 Node.js : A JavaScript runtime for building server-side
applications.
┣ 🧑🏻💻 Express : A popular framework for building web applications and APIs with Node.js.
┣ 🧑🏻💻 Django : A Python web framework for building web applications and APIs.
┣ 🧑🏻💻 Flask : A lightweight Python web framework for building web
applications and APIs.
┣ 🧑🏻💻 Spring : A Java framework for building enterprise-level web
applications and APIs.
┣ 🛠️ Swagger Editor : A tool for designing and documenting APIs using the OpenAPI specification.
┣ 🛠️ _Postman _: A tool for testing and debugging APIs.
┣ 🛠️ Insomnia : A tool for designing, testing, and debugging APIs.
┣ 🛠️ Paw : A tool for designing and testing APIs on Mac OS.
┣ 🛠️ API Blueprint : A high-level API description language for building RESTful APIs.