fastapi学习前置知识点

2024-06-06 23:28

本文主要是介绍fastapi学习前置知识点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前置知识点

FastApi:一个用于构建API的现代、快速(高性能)的web框架。

FastApi是建立在Pydantic和Starlette基础上,Pydantic是一个基于Python类型提示来定义数据验证、序列化和文档的库。Starlette是一种轻量级的ASGI框架/工具包,是构建高性能Asyncio服务的理性选择。

Starlette是一个轻量级的ASGI框架/工具包,主要负责web部分(Asyncio)

Pydantic负责数据部分(类型提示)

python版本要在3.7以上

1.1 http协议

1.什么是请求头请求体、响应头响应体

2.URL地址包括什么

3.get请求和post请求是什么

4.Content-Type是什么

1.1.1 简介

http协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维网服务器与本地浏览器之间传输超文本的传送协议。http是一个应用层的面向对象的协议,由于其简洁、快速的方式,适用于分布式超媒体信息系统。

浏览器作为http客户端通过URL向http服务端即web服务器发送所有请求,web服务器根据收到的请求,向客户端发送响应信息。

1.1.2 http协议特性

  1. 基于TCP/IP协议

    http协议是基于TCP/IP协议之上的应用层协议

  2. 基于请求-响应模式

    http协议规定,请求从客户端发出,服务器端响应该请求并返回。换句话说就是,先从客户端开始建立通信,服务器端在没有接收到请求之前不会发送响应。

  3. 无状态保存

  4. 短连接

    http1.0默认使用的是短连接,浏览器和服务器每进行一次http操作,就建立一次连接、任务结束就中断连接。

    http1.1起,默认使用长连接,要使用长连接,客户端和服务器的http首部的Connetion都要设置为keep-alive,才能支持长连接。

    http长连接指的是复用tcp连接。多个http请求可以复用同一个tcp连接,这就节省了tcp连接建立和断开的消耗。

1.1.3 http请求协议与响应协议

在这里插入图片描述

  • http请求协议

    在这里插入图片描述

    • 请求首行:

      • 请求方式

        • post

        • get

          将数据放在?后面

          没有请求体

          参数有限

      • 请求路径

      • 请求协议

    • 请求头(键值对)

      • content-type:application/json

        标识请求体,使服务器知道请求体的类型

      • user-agent:Chrome/104.0.0.0 Safari/537.36

    • 请求体

      • 请求头和请求体之间有一个空行,用来隔开请求体和请求头
  • http响应协议

    在这里插入图片描述

    • 响应首行
    • 响应头
    • 响应体

1.2 api接口

  • 前后端不分离
    • 客户端看到的内容和所有界面效果都是由服务端提供出来的
  • 前后端分离(绝大部分项目都是前后端分离)
    • 前端形成一个独立的网站,服务端构成一个独立的网站

应用程序编程接口(Application Programming Interface,API接口),就是应用程序对外提供一个操作数据的入口,这个入口可以是一个函数或类方法,也可以是一个url地址或者一个网络地址。当客户端调用这个入口,应用程序则会执行对应代码操作,给客户端完成相对应的功能。

目前大多数使用的接口实现规范主要是:restful、RPC。

restful是一种专门为web开发而定义API接口的设计风格,尤其适用于前后端分离的应用模式。

关键:面向资源开发

该风格的理念认为后端开发任务就是提供数据的、对外提供的是数据资源的访问接口,所以在定义接口时,客户端访问的url路径就表示这种要操作的数据资源。

对于数据资源分别使用post、delete、get、update等请求动作来表达对数据的增删查改。

这篇关于fastapi学习前置知识点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1037532

相关文章

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Python FastAPI实现JWT校验的完整指南

《PythonFastAPI实现JWT校验的完整指南》在现代Web开发中,构建安全的API接口是开发者必须面对的核心挑战之一,本文将深入探讨如何基于FastAPI实现JWT(JSONWebToken... 目录一、JWT认证的核心原理二、项目初始化与环境配置三、安全密码处理机制四、JWT令牌的生成与验证五、

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

SQLyog中DELIMITER执行存储过程时出现前置缩进问题的解决方法

《SQLyog中DELIMITER执行存储过程时出现前置缩进问题的解决方法》在SQLyog中执行存储过程时出现的前置缩进问题,实际上反映了SQLyog对SQL语句解析的一个特殊行为,本文给大家介绍了详... 目录问题根源正确写法示例永久解决方案为什么命令行不受影响?最佳实践建议问题根源SQLyog的语句分

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Python FastAPI入门安装使用

《PythonFastAPI入门安装使用》FastAPI是一个现代、快速的PythonWeb框架,用于构建API,它基于Python3.6+的类型提示特性,使得代码更加简洁且易于绶护,这篇文章主要介... 目录第一节:FastAPI入门一、FastAPI框架介绍什么是ASGI服务(WSGI)二、FastAP

前端知识点之Javascript选择输入框confirm用法

《前端知识点之Javascript选择输入框confirm用法》:本文主要介绍JavaScript中的confirm方法的基本用法、功能特点、注意事项及常见用途,文中通过代码介绍的非常详细,对大家... 目录1. 基本用法2. 功能特点①阻塞行为:confirm 对话框会阻塞脚本的执行,直到用户作出选择。②