HTTP学习记录

本文详细对比了HTTP请求方法GET与POST的区别,包括它们的应用场景、数据传输方式、安全性及可见性等方面。GET主要用于检索资源,而POST用于提交数据。文章还介绍了两者在浏览器历史记录、数据长度与类型上的不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

日志
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

比较项目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 中。

同步请求与异步请求

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值