Python web基础
#HTTP client-server
Client---->Server
(
Get/http/1.1
Host:httpbln.org
User-Agent:Httple/0.9.9
Accept:*/*
)
Server---->Client
(
Http/1.1 200 OK
Content-Length:580
Content-Type:applcation/json
Date:Tue,25...
Connection:keep-alive
)
1.通过请求和响应的交换达成通信
2.不保存通信状态
3.使用URL定位互联网上的资源
4.请求资源时使用方法下达命令(GET、POST、HEAD等)
5.通过持久链接节省通信量
6.使用cookie来进行状态管理
http请求报头
1.第一行定义请求类型、文档(选择符)和协议版本
2.接着是报头行,包括各种有关客户端的信息
3.报头行后面是一个空白行,表示报头行结束
4.之后是 发送表单的信息或者上传文件的事件中可能出现的数据
5.报头的每一行都应该使用回车符或者换行符('\r\n')终止--windows下
http响应
1.第一行表示HTTP协议版本、成功代码和返回消息
2.响应行之后是一系列报头字段,包含返回文档的类型、文档大小、Web服务器软件、cookie等方面的信息
3.通过空白行结束报头
4.之后是所请求文档的原始数据
http常见请求方法
方法 | 描述 |
GET | 获取文档 |
POST | 将数据发布到表单 |
HEAD | 仅返回包头信息 |
PUT | 将数据上传到服务器 |
··· | ··· |
常见http状态码
成功代码(2xx):200(成功) 201(创建) 202(接受) 204(无内容)
重定向(3xx):300(多种选择) 301(永久移动) 302(可被303代替) 303(临时移动) 304(不修改)
客户端错误(4xx):400(请求错误) 401(未授权) 403(禁止访问) 404(未找到) 405(方法不允许)
服务器错误(5xx):500(内部服务器错误) 501(未实现) 502(网关错误) 503(服务不可用)
Python3 标准web库
http:处理所有客户端一服务器http请求的具体细节
client:处理客户端部分
server:提懂了实现HTTP服务器的各种类
cookies:支持在服务器端处理HTTP cookie
cookiejar:支持在客户端存储和管理HTTP cookie
urllib:基于http的高层库,用于编写与HTTP服务器等交互的客户端
request:处理客户端请求
response:处理服务器端响应
parse:用于操作URL字符串
Python Web框架
一个web框架,至少要具备处理客户端请求和服务端相响应的能力
路由:解析URL并找到对应的服务端文件或者Python服务器代码
模板:吧服务端数据合并成HTML页面
认证和授权:处理用户名。密码和权限
Session:处理用户在多次请求之间需要存储的数据