日志 160815 : GET与POST
二者都是明文传输
HTTP请求格式: request line //http请求行 headers //http请求消息报头 blank line //回车换行 [request-body] //http请求正文
HTTP响应格式: status line //http响应状态行 headers //http响应消息报头 blank line //回车换行 [response-body] //http响应正文
目标:从服务器获取资源,负责“增删改查”中的 查
请求数据置于URL之后,与URL之间用 ? 连接,多个参数之间使用 & 连接 数据位于HTTP的head中
如: login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0 %E5%A5%BD
如果数据是英文字母/数字,原样发送,如果是空格,转换为+ 如果是中文/其他字符,则直接把字符串用BASE64加密 得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。
目标:向服务器提交资源,负责“增删改查”中的 增
数据位于HTTP的body中
因为都是明文传输,post也只是相对于get方式有一定意义上的安全提升,因为数据不会存留在url中
可以传输二进制数据
http://www.runoob.com/tags/html-httpmethods.html
比较项目GETPOST后退按钮/刷新无害数据会被重新提交(浏览器应该告知用户数据会被重新提交)。书签可收藏为书签不可收藏为书签编码类型application/x-www-form-urlencodedapplication/x-www-form-urlencoded or multipart/form-data。为二进制数据使用多重编码。历史参数保留在浏览器历史中。参数不会保存在浏览器历史中。对数据长度的限制当发送数据时,GET 方法向 URL 添加数据;URL 的长度有些条件下是受限制的(取决于浏览器和服务器)。无限制。对数据类型的限制只允许 ASCII 字符。没有限制。也允许二进制数据。安全性与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。可见性数据在 URL 中对所有人都是可见的。数据不会显示在 URL 中。同步:提交请求->服务器处理(期间浏览器不能做任何事)->处理完毕返回 异步:请求通过事件触发->服务器处理(期间浏览器仍然可以做其他事情)->处理完毕