web开发项目设计:
立项-需求分析-设计(原型图、数据库、api设计)-技术选型-写代码-测试-上线
web开发的本质上就是生成超文本。
前端负责展示,后端负责逻辑处理:后逻辑请求(接收请求、响应请求)
概念:
Flask是一个由python语言编写开发而成的轻量级web开发框架,基于 Werkzeug 和 jinjia2 这两个库
特点:(和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查询接口支持什么方法。(不强迫但最好遵守规范)