1. HTTP协议消息的格式:
1.请求(request)
请求方法 路径 HTTP/1.1\r\n <--请求行
k1:v1\r\n <--请求头
...\r\n
\r\n
... <--请求体 可以有,可以没有
2.响应(response)
HTTP/1.1 状态码 状态描述符\r\n <--状态行
k1:v1\r\n <--响应头
Content- Type: text/ html; charset=utf8\r\n
...\r\n
\r\n
... <--响应正文 一般是html内容
2.Python web框架的本质:
a.收发socket消息 -->按照HTTP协议消息格式去解析消息
b.路径和要执行的函数的对应关系 -->主要的业务逻辑
c.字符串替换 -->模板(特殊符号-->数据)
3.一个完整得请求流程:
0.启动服务端,等待客户端(用户的浏览器)来连接
1.在浏览器地址栏输入URL,与服务端建立连接,浏览器发送请求
2.服务端收到请求消息,解析请求消息,根据路径和函数的对应关系,找到将要执行的函数
3.执行函数,打开HTML文件,进行字符串替换,得到一个最终要返回的HTML内容
4.按照HTTP协议的消息格式要求,把HTML内容回复给用户浏览器(发送响应)
5.浏览器收到响应的消息之后,按照HTML的规则渲染页面.
6.关闭连接
4. form表单往后端提交数据需要注意哪三点:
1. form不是from,所有获取用户输入的标签都应该放在form里面
2. action属 性控制往哪儿提交, method-般都设置成post
3.提交按钮必须是type=submit,不能是别的类型
5. GET请求和POST请求
GET请求:
1. 浏览器请求一个页面
2. 搜索引擎检索|
3. GET请求携带的数据都拼在了URL上
4. GET请求携带的数据有长度限制40k
POST请求:
1.浏览器向服务端提交数据
2. form表单提交数据.
3. 上传文件
GET请求和POST请求
都属于HTTP协议规定的请求方法
什么时候用GET请求?
1.浏览器想要得到一个HTML页面的时候
2.搜索引擎查询关键字的时候. www.sogo.com/web/?query=迪丽热巴
3.点击a标签
6. request相关的知识点
1. request的method方法常用的两个返回值
1.GET
2.POST
2. request.POST --> 所有和post请求相关的数据
3. request.GET ---> 所有和GET请求相关的数据