一. 浏览器提交数据方式
1. Get传参(Url传参)
地址栏输入url;
js跳转(window.location);
表单get提交;
超链接操作;
异步get提交数据;
2. Post传参
表单post提交;
二.Request常用成员
1. QueryString属性(获取get方式传输的数据)
2. Form属性(获取post方式传输的数据)
3. Params属性(客户端提交的数据集合,不只包含QueryString和Form)
三.Response常用成员
1. Write方法(直接在页面上输出内容)
2. Redirect方法(重定向到另外一个页面,服务器发送命令让浏览器跳转)
3. End方法(结束输出)
四.浏览器端重定向(Redirect)
1. 302:重定向状态码。
2. 在Dedirect之前输出的任何代码都不会再浏览器端出现,Redirect方法内部完全重新生成一个新的规定好的相应报文发给浏览器。
3. 为了兼容不认识302状态码的老式浏览器,生成了一个包含超链接的html说明覆盖到响应报文中。
五.表单
1. 表单提交的时候,只有包含name属性的表单元素才会被提交。
2. 表单标签包含<input />,<select />,<textarea>。
3. 如果给表单元素加disable属性不会被提交,加readonly属性会被提交。
六.小案例
1. 上传图片;
2. 为图片加水印;
3. 生成缩略图;
像这类功能,网上已经有很成熟的组件,没必要自己去写,案例只是帮助了解原理。
七.刷新
浏览器的刷新操作是重复浏览器的上一次操作,把之前生成的请求报文重新再发一遍。
八.验证码
为什么要有验证码?
防止生成浏览器插件(JS写的)进行暴力破解,让服务器尽量减少因为恶意用户登录操作而增加访问数据库的次数。