1.表单
get和post请求是在form表单中使用
form表单有2个重要属性action(表单提交的路径,实现跳转的功能),method(提交的方式)
表单提交参考:http://www.anyrt.com/blog/list/submit.html
<input> 输入
Type ----- text password checkbox radio submit reset file 等等
Text ----文本框
Password ----密码框
Checkbox ---多选框
Radio ----单选框
Submit ----提交按钮
Reset ----重置按钮
File -----文件上传
示例:
<form action="https://www.baidu.com/" method="">
<input type="submit"/>
</form>
2:get和post
简单的了解了表单以后,我们首先讲一下get,get是我们表单提交的默认方式,也就是说method你什么都不写,他也默认get给你提交了
为了进一步了解get,我们完善一下这个表单,添加一些属性
<form action="https://www.baidu.com/" method="">
<input type="submit" value="提交" />
选择你喜欢喝的
<input type="radio">凉白开
<input type="radio">快乐水
<input type="radio">铁观音
</form>
我们点击提交按钮
可以看到我们跳转的地址百度(https://www.baidu.com/)变成(https://www.baidu.com/?)多了?
!!!路径的规则 ? 和 &
? 号表示的是 路径的跳转地址结束
& 号表示的是 属性之间的间隔
我们在进一步丰富form,继续使用默认的get
<form action="https://www.baidu.com/" method="">
<input type="submit" value="提交" name="subBut"/>
选择你喜欢喝的
<input type="radio" name="witer">凉白开
<input type="radio">快乐水
<input type="radio">铁观音
</form>
我们点击提交按钮进行跳转
可以看到我们跳转的地址百度(https://www.baidu.com/)变成(https://www.baidu.com/?subBut=提交)
明显的多了我们对submit定义的名字name,subBut,初始值value,提交
这无疑泄露了我们的信息,咱们这个只是无关紧要的没什么,但如果是用户账号密码之类那就难受了
所以说get不是很安全,并且由于get跳转时携带了信息,会使得我们的url(地址)受限,具体,最大64位
那我们要安全的提交信息,就需要post了
现在我们对method进行赋值
<form action="https://www.baidu.com/" method="post">
<input type="submit" value="提交" name="subBut"/>
选择你喜欢喝的
<input type="radio" name="witer">凉白开
<input type="radio">快乐水
<input type="radio">铁观音
</form>
此时明显发生了错误,但是不清楚是什么错,不急,我们修改一下跳转网址
<form action="https://www.csdn.net/" method="post">
<input type="submit" value="提交" name="subBut"/>
选择你喜欢喝的
<input type="radio" name="witer">凉白开
<input type="radio">快乐水
<input type="radio">铁观音
</form>
可以看到给我们报错403 forbidden,查了一下
403 Forbidden 是HTTP协议中的一个状态码(Status Code)。可以简单的理解为没有权限访问此站。表示服务器理解了本次请求但是拒绝执行该任务,该请求不该重发给服务器。
国内对网站备案情况管理严格,网站服务商和宽带接入商发现未备案网站时会选择屏蔽,网友访问时也会显示403 Forbidden。
对于一些涉及到项目方面的,比如cvs、svn等有时候在提交的时候提示403 Forbidden,这样的原因也许是权限方面的问题。
可以看到应该是权限问题,但是这不影响我们,因为网址一栏已经显示了我们跳转后网址信息·,url中并未包含我们的信息
所以可以明白post请求由于不会携带我们的属性信息相对get来说比较安全
3.总结
1.表单提交时 什么情况下属于get请求 什么情况下属于post请求?
Get请求 默认情况下 和 method为get请求
Post请求 method为post 时
2.Get请求和post请求有什么区别?
post请求提交时路径上没有属性的信息 相对安全
Get 请求提交路径上存在属性的信息 不安全
因为get请求在路径的地址上存在属性值 url的地址是有限制的最大为64kb
3.什么时候使用get请求 什么时候使用post请求?
要根据数据性质 --- 热数据 安全度不重要的数据 使用get和post都可以
如果数据的性质需要安全性比较高时 那么一定要使用post
在写文件上传的功能时 请求必须是post的提交方式
4.写在最后
大家有什么想法可以一起讨论,大家一起学习,一起进步
看都看到最后了,一键三连吧