HTTP学习记录

来源:互联网 发布:山海经真实性知乎 编辑:程序博客网 时间:2024/06/10 23:22

日志
160815 : GET与POST

GET与POST

二者都是明文传输

HTTP请求格式:
request line //http请求行
headers //http请求消息报头
blank line //回车换行
[request-body] //http请求正文

HTTP响应格式:
status line //http响应状态行
headers //http响应消息报头
blank line //回车换行
[response-body] //http响应正文

get

目标:从服务器获取资源,负责“增删改查”中的

请求数据置于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。

post

目标:向服务器提交资源,负责“增删改查”中的

数据位于HTTP的body中

因为都是明文传输,post也只是相对于get方式有一定意义上的安全提升,因为数据不会存留在url中

可以传输二进制数据

比较

http://www.runoob.com/tags/html-httpmethods.html

比较项目 GET POST 后退按钮/刷新 无害 数据会被重新提交(浏览器应该告知用户数据会被重新提交)。 书签 可收藏为书签 不可收藏为书签 编码类型 application/x-www-form-urlencoded application/x-www-form-urlencoded or multipart/form-data。为二进制数据使用多重编码。 历史 参数保留在浏览器历史中。 参数不会保存在浏览器历史中。 对数据长度的限制 当发送数据时,GET 方法向 URL 添加数据;URL 的长度有些条件下是受限制的(取决于浏览器和服务器)。 无限制。 对数据类型的限制 只允许 ASCII 字符。 没有限制。也允许二进制数据。 安全性 与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。 POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。 可见性 数据在 URL 中对所有人都是可见的。 数据不会显示在 URL 中。

同步请求与异步请求

同步:提交请求->服务器处理(期间浏览器不能做任何事)->处理完毕返回
异步:请求通过事件触发->服务器处理(期间浏览器仍然可以做其他事情)->处理完毕

0 0
原创粉丝点击