【自学开发之旅】基于Flask的web开发(一)

web开发项目设计:
立项-需求分析-设计(原型图、数据库、api设计)-技术选型-写代码-测试-上线
请添加图片描述
web开发的本质上就是生成超文本。

前端负责展示,后端负责逻辑处理:后逻辑请求(接收请求、响应请求)

概念:
Flask是一个由python语言编写开发而成的轻量级web开发框架,基于 Werkzeugjinjia2 这两个库

特点:(和Django对比着讲)
灵活、轻量、适合api开发、简单

http(超文本传输协议):
1991年,0.9版本,命令GET
1996年,1.0版本,引入POST和HEAD等命令
1997年,1.1版本,引入持久连接(背景:http是无状态协议即这次请求和下次请求是完全独立的)
2015年,2.0版本(二进制分帧实现低延迟和高吞吐量;多路复用;)

HTTP/2.0主要有以下特点:
二进制协议:HTTP/2.0协议将所有信息分割为二进制帧,协议头和数据体都是二进制协议。这种二进制协议的解析相对于文本协议更加高效,且能够减少错误。
多工(Multiplexing):HTTP/2.0允许在一个TCP连接中同时发送多个请求或回应,无需按照顺序一一对应,这样可以避免“队头堵塞”。
数据流:HTTP/2.0的数据包不是顺序发送的,同一个连接中可以连续发送不同的请求包,每个请求包都有唯一的ID。如果数据流发送一半需要取消,只需要给服务器发送一个RST_STREAM帧即可。
首部压缩:HTTP/2.0使用了首部压缩技术,使得报头更加紧凑,传输更快,这有助于改善移动网络环境下的性能。
流量控制:HTTP/2.0提供了流量控制机制,基于HTTP链接的每一跳进行,而非端到端的控制。流量控制基于窗口更新帧进行,接收方可以广播自己准备接收的数据量,以及对整个链接要接收的数据量进行控制。
多路复用:HTTP/2.0允许浏览器在同一时间针对同一域名下的请求有一定数量的限制,这可以减少连接的建立和关闭次数,提高效率。

http标头:
HTTP头部包含了许多重要的信息,以下是一些常见的HTTP头部信息及其含义:
Host:指定请求的URL的主机名和端口号。
User-Agent:指定发送请求的客户端应用程序的名称和版本。
Accept:指定客户端能够接收的MIME类型和排序规则。
Accept-Language:指定客户端能够接收的自然语言和排序规则。
Accept-Encoding:指定客户端能够接收的压缩方法。
Content-Type:指定请求或响应的MIME类型和内容参数。
Content-Length:指定请求或响应的数据长度。
Content-Encoding:指定请求或响应的数据压缩方法。
If-Match:用于条件请求,指定资源的匹配条件。
If-None-Match:用于条件请求,指定资源的非匹配条件。
If-Modified-Since:用于条件请求,指定资源的修改时间。
If-Unmodified-Since:用于条件请求,指定资源的未修改时间。
Range:用于范围请求,指定请求的资源的范围。
ETag:用于条件请求,指定资源的唯一标识符。
Last-Modified:用于条件请求,指定资源的最后修改时间。
这些头部信息提供了关于请求和响应的重要信息,使得客户端和服务器能够进行高效的通信和资源共享。

http方法:
增POST、删DELETE、改PUT、查GET、HEAD获得头部信息、OPTIONS查询接口支持什么方法。(不强迫但最好遵守规范)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/112644.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python文本终端GUI框架详解

今天笔者带大家,梳理几个常见的基于文本终端的 UI 框架,一睹为快! Curses 首先出场的是 Curses。 Curses 是一个能提供基于文本终端窗口功能的动态库,它可以: 使用整个屏幕 创建和管理一个窗口 使用 8 种不同的彩色 为程序提供…

用最少数量的箭引爆气球【贪心算法】

用最少数量的箭引爆气球 有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points ,其中points[i] [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。你不知道气球的确切 y 坐标。 一支弓箭可以沿着 x 轴从不同点 完全垂直 地…

Spring Boot(Vue3+ElementPlus+Axios+MyBatisPlus+Spring Boot 前后端分离)【六】

😀前言 本篇博文是关于Spring Boot(Vue3ElementPlusAxiosMyBatisPlusSpring Boot 前后端分离)【六】,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章…

iOS逆向:越狱及相关概念的介绍

在上一篇内容中我们介绍了App脱壳的技术,今天我们来介绍一个和iOS逆向密切相关的知识:越狱。 iOS操作系统的封闭性一直是开发者们关注的焦点之一。为了突破Apple的限制,越狱技术应运而生。本文将深入探讨iOS越狱,包括可越狱的版本…

MongoDB 双机热备那篇文章是 “毒”

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis ,Oracle ,Oceanbase 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请加微信号 liuaustin3 (…

成功对接巴斯夫BASF EDI 平台

BASF,作为中国化工领域重要的外商投资企业,巴斯夫主要的投资项目位于南京、上海和重庆,生产基地遍布全国,其中巴斯夫上海创新园更是全球的研发枢纽。2017年,巴斯夫大中华区销售额达到73亿欧元(按客户所在地…

Java“牵手”1688拍立淘接口数据,图片搜索1688商品,图片识别商品接口,1688API申请指南

1688商城是一个网上购物平台,售卖各类商品,包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取1688商品列表和商品详情页面数据,您可以通过开放平台的接口或者直接访问1688商城的网页来获取商品详情信息。以下是两种常用方法的介绍&…

Linux————LNMT搭建

一、原理 搭建一个基于Linux系统的Web服务器,使用Nginx作为反向代理服务器,Tomcat作为应用服务器,MySQL作为数据库服务器。 Linux操作系统 基于Linux的操作系统 Nginx Nginx是一款高性能的Web服务器和反向代理服务器&#xff0…

Java自定义捕获异常

需求分析 ElectricalCustomerVO electricalCustomerVO new ElectricalCustomerVO(); electricalCustomerVO.setElcNumber(chatRecordsLog.getDeviceNumber()); List<ElectricalCustomerVO> electricalCustomerlist electricalCustomerMapper.selectElectricalCustomer…

读SQL学习指南(第3版)笔记06_连接和集合

1. 连接 1.1. 笛卡儿积 1.1.1. 交叉连接&#xff08;cross join&#xff09; 1.1.2. 查询并没有指定两个数据表应该如何连接&#xff0c;数据库服务器就生成了笛卡儿积 1.1.2.1. 两个数据表的所有排列组合 1.1.3. 很少会用到&#xff08;至少不会特意用到&#xff09; 1.…

政府科技项目验收全流程分享

科技验收测试 &#xff08;验收申请→主管部门初审→科技厅审核→组织验收→归档备案→信用管理&#xff09;&#xff1a; &#xff08;一&#xff09;验收申请 项目承担单位通过省科技业务管理系统提交验收申请。 按期完成的项目&#xff0c;项目承担单位应当在项目合同书…

自测scRNA-Seq+scWGBS=3分三区文章?

写在前面 最近在捣鼓表观遗传学&#xff0c;处理了一批Bulk RNA-Seq和WGBS(Whole Genome Bisulfite Sequencing)的数据。熟悉我风格的粉丝都知道&#xff0c;我一般会读几篇文献再下手&#xff0c;遂于PubMed中检索了几篇文章&#xff0c;发现一个2022年发表的题为"WGBS …

为什么JVM调优一般都是针对堆内存的,以及堆内存的设置对GC的影响

1、为什么JVM调优一般都是针对堆内存的&#xff1f; 首先JVM的四部分组成&#xff1a;ClassLoader&#xff08;类装载器&#xff09;、Runtime data area 运行数据区、Execution Engine 执行引擎、Native Interface 本地接口。 其中运行数据区&#xff08;Runtime Data Area&am…

python-数据可视化-下载数据-CSV文件格式

数据以两种常见格式存储&#xff1a;CSV和JSON CSV文件格式 comma-separated values import csv filename sitka_weather_07-2018_simple.csv with open(filename) as f:reader csv.reader(f)header_row next(reader)print(header_row) # [USW00025333, SITKA AIRPORT, A…

零知识证明(zk-SNARK)(一)

全称为 Zero-Knowledge Succinct Non-Interactive Argument of Knowledge&#xff0c;简洁非交互式零知识证明&#xff0c;简洁性使得运行该协议时&#xff0c;即便statement非常大&#xff0c;它的proof大小也仅有几百个bytes&#xff0c;并且验证一个proof的时间可以达到毫秒…

C++进阶之继承

继承 继承的概念及定义基类和派生类对象赋值转换继承中的作用域派生类的默认成员函数继承与友元继承与静态成员复杂的菱形继承及菱形虚拟继承继承的总结和反思 继承的概念及定义 在C中&#xff0c;继承是一种面向对象编程的重要概念&#xff0c;它允许一个类&#xff08;称为子…

java-初识Servlet,Tomcat,JDBC

文章目录 前言一、ServletServlet 生命周期Servlet 实例Servlet 过滤器 二、TomcatJDBCJDBC连接数据库实例 总结 前言 java入门须知的重要概念/名词/技术 等 一、Servlet Servlet是Java Web开发中的一个核心组件&#xff0c;它是基于Java语言编写的服务器端程序&#xff0c;…

火热的大模型AIGC对数据中心存储趋势有什么影响?

随着人工智能和大数据技术的不断发展&#xff0c;业内AIGC&#xff08;人工智能、图形处理和云计算&#xff09;和大模型的发展趋势正在对数据中心存储发展方向产生深远的影响&#xff0c;主要集中对数据量和高性能计算的诉求。 大模型的普及要求数据中心存储具备更大的容量。大…

基于Googlenet深度学习网络的螺丝瑕疵检测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ....................................................................................% 获…

踏进字节的那一瞬间,我泪目了,这457天的外包经历值了....

一年半吗&#xff1f;我只记得437个日日夜夜 没有绝对的天才&#xff0c;只有持续不断的付出。对于我们每一个平凡人来说&#xff0c;改变命运只能依靠努力幸运&#xff0c;但如果你不够幸运&#xff0c;那就只能拉高努力的占比。 2021年8月&#xff0c;我有幸成为了字节跳动…