HTTP方法:get和post的区别

                                                                             [是什么]

我们先来重温一下web应用模式。

打电话——HTTP(超文本传输协议)

Http的存在是为了客户机和服务器之间的通信。客户机“请求”,服务器“应答”。读者请看上上图,“HttpRequest”的中文意思就是:Http请求。

getpost是请求的2种方法。

                                                                     [其他http的请求方法]

名称

作用

Head

get相同,但只返回HTTP报头,不返回文档主体

put

上传指定的URI表示

delete

删除指定资源

options

返回服务器支持的http方法

connect

把请求连接转换到透明的TCP/IP通道

其中,put deletepostget对应着对请求进行“增删改查”。今天我们只来说说getpost


                                                [获取/查询——get]

get方法最常用,其是从指定的资源请求数据。

其形式为:URL?传输数据;参数&参数。

传输规则为:

数据

发送形式

英文字母/数字

原样

空格

+

中文/其它字符

Base64加密

例子如下:

login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD

                                                    [更新——post]

post是向指定的资源提交要被处理的数据,比如完成表单数据的提交,将数据提交给服务器处理。

例子如下:

POST/test/demo_form.asp HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2

在以下情况中,一般使用 POST请求:

1)无法使用缓存文件(更新服务器上的文件或数据库)

2)向服务器发送大量数据(POST没有数据量限制)

3)发送包含未知字符的用户输入时(POST GET更稳定也更可靠)


                                                   [两者比较]

比较项

get

post

作用

获取数据

提交数据

是否有数量限制

传参方式(一般)

url

request body

限制长度因素

浏览器或服务器配置

服务器配置和内存大小

是否改变服务器的状态

是否幂等

提供的资源

参数

表单

是否有缓存

服务端获取请求参数用

Request.QueryString()

Request.Form()

什么叫做幂等?

同一个请求方法执行多次和仅执行一次的效果完全相同。举个栗子,你第一次说脏话,你妈打你,你第十次说脏话,你妈依旧打你,这就是“不管执行几次,其结果是一样的”。


什么叫做URL

 

 用来描述信息资源的字符串。


get更安全——不会改变数据

由上表可知,因为get没有改变服务器的状态,所以不管执行多少次,其都不会改变页面呈现的数据,相反,post会。


post更安全——非明文传输

get是明文传输:通过Url方式请求,用户名和密码将明文出现在URL上,可以直接看到。

 

get的安全和post的安全有什么区别呢?

就像你想借朋友的一本书,朋友之所以会把书借给你,是因为认为你是“安全的”。

第一,你不会在书上乱写乱画——get安全;

第二,你不会拿着它时,在半路遇到抢劫的,书被歹徒抢走——post安全

                                                                                                         

                                                                                         [小结]

1.一句话总结getpost的区别:get更简单更快,更常用,post更安全。

2.记得听“得到”的时候,万维钢老师说过,大概意思是:怎么才算真正理解了这个知识?你讲的能让一个10岁儿童听懂就行。如此,我正在努力。加油

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡夫卡的熊kfk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值