REST APIs with Flask

  1. HTTP Protocol Fundamentals
    1. Introduction to HTTP
      1. Protocol Overview
        1. HTTP Versions
          1. Connection Management
          2. Structure of HTTP Requests
            1. Request Line
              1. Headers Section
                1. Message Body
                2. Structure of HTTP Responses
                  1. Status Line
                    1. Headers Section
                      1. Response Body
                      2. HTTP Methods
                        1. GET
                          1. Purpose and Use Cases
                            1. Idempotent Nature
                              1. Query Parameters
                              2. POST
                                1. Purpose and Use Cases
                                  1. Request Body Usage
                                    1. Non-Idempotent Nature
                                    2. PUT
                                      1. Purpose and Use Cases
                                        1. Idempotent Updates
                                          1. Full Resource Replacement
                                          2. DELETE
                                            1. Purpose and Use Cases
                                              1. Idempotent Deletion
                                                1. Soft vs Hard Deletion
                                                2. PATCH
                                                  1. Purpose and Use Cases
                                                    1. Partial Updates
                                                      1. JSON Patch Format
                                                      2. OPTIONS
                                                        1. Purpose and Use Cases
                                                          1. CORS Preflight Requests
                                                          2. HEAD
                                                            1. Purpose and Use Cases
                                                              1. Metadata Retrieval
                                                            2. HTTP Status Codes
                                                              1. 1xx Informational
                                                                1. 100 Continue
                                                                  1. 101 Switching Protocols
                                                                  2. 2xx Success
                                                                    1. 200 OK
                                                                      1. 201 Created
                                                                        1. 202 Accepted
                                                                          1. 204 No Content
                                                                          2. 3xx Redirection
                                                                            1. 301 Moved Permanently
                                                                              1. 302 Found
                                                                                1. 304 Not Modified
                                                                                2. 4xx Client Error
                                                                                  1. 400 Bad Request
                                                                                    1. 401 Unauthorized
                                                                                      1. 403 Forbidden
                                                                                        1. 404 Not Found
                                                                                          1. 405 Method Not Allowed
                                                                                            1. 409 Conflict
                                                                                              1. 422 Unprocessable Entity
                                                                                              2. 5xx Server Error
                                                                                                1. 500 Internal Server Error
                                                                                                  1. 502 Bad Gateway
                                                                                                    1. 503 Service Unavailable
                                                                                                  2. HTTP Headers
                                                                                                    1. Common Request Headers
                                                                                                      1. Accept
                                                                                                        1. Authorization
                                                                                                          1. Content-Type
                                                                                                            1. User-Agent
                                                                                                            2. Common Response Headers
                                                                                                              1. Content-Type
                                                                                                                1. Content-Length
                                                                                                                  1. Cache-Control
                                                                                                                    1. Location
                                                                                                                    2. Custom Headers
                                                                                                                      1. Naming Conventions
                                                                                                                        1. Security Considerations
                                                                                                                      2. Request and Response Body
                                                                                                                        1. Content Types
                                                                                                                          1. MIME Types
                                                                                                                            1. Character Encoding
                                                                                                                              1. Content Negotiation