PHP中的get和post的区别

标签:访问   ssi   mys   nbsp   机制   地址   nod   服务器性能   数据   

一.get和post的区别:

1.GET在浏览器回退时是无害的,而POST会再次提交请求。

2.GET产生的URL地址可以被Bookmark(标记),而POST不可以。 

3.GET请求会被浏览器主动cache(存储),而POST不会,除非手动设置。 

4.GET请求只能进行url编码,而POST支持多种编码方式。 

5.GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。 

6.GET请求在URL中传送的参数是有长度限制的,而POST没有。 

7.对参数的数据类型,GET只接受ASCII(美国信息交换标准码)字符,而POST没有限制。 

8.GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。 但是执行效率却比POST方法好。

9.GET参数通过URL传递,POST放在Request body中。

10.GET一般是从服务器上获取数据,POST是向服务器传送数据。

11.GET是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。

POST是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

12.GET传送的数据量较小,不能大于2KB。POST传送的数据量较大,一般被默认为不受限制。

 

二.cookie和session的区别

1.cookie数据存放在客户的浏览器上,session数据放在服务器上。

2.cookie保存的内容是字符串,而服务器中的session保存的数据是对象。

3.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。

4.session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能

考虑到减轻服务器性能方面,应当使用COOKIE。

5.单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

6.session根据浏览器进程存在而存在,而cookie的生存时间和存储路径都可以设置和调整。

7.session必须借助cookie。