php面试问题get和post的区别

1.Get方法通过url请求传输用户的数据,将表单中的字段名与其内容以成对的字符串连接起来,放在action属性所指示的程序的URL之后,比如/test.asp?name = 51js & amp;Password=51js,数据会直接显示在url上,就像用户点击一个链接一样;Post方法通过HTTP post机制将表单中的字段名及其内容放入HTML头中,发送给服务器由action属性指示的程序进行处理。该程序将通过标准输入(stdin)读取并处理表单中的数据。

2.Get方法需要使用Request。QueryString以获取变量值;Post方法通过Request.Form访问提交的内容。

3.Get方法传输的数据量很小,一般限制在2 KB左右,但执行效率优于Post方法;Post传输的数据量比较大。它等待服务器读取数据,但也有字节限制。这是为了避免大量数据对服务器的恶意攻击。微软表示,微软对请求可以接收的最大数据量有限制。格式(),在IIS 4中是80 KB字节,在IIS 5中是100 KB字节。

建议:除非你确定你提交的资料可以一次性提交,否则请尽量使用Post方式。

4.用Get提交数据会带来安全问题,比如一个登录页面。当通过Get提交数据时,用户名和密码将出现在URL上。如果页面可以缓存或者其他人可以访问客户的机器,就可以从历史记录中获取用户的账号和密码,所以表单提交推荐Post方法。Post方法提交的表单页面常见的问题是页面刷新时会弹出一个对话框。

建议:为了安全起见,建议使用Post提交数据。

***********************************

在B/S应用程序中,前台和后台的数据交互是通过HTML中的表单来完成的。表单提供了两种数据传输方式——get和post。虽然都是数据提交方式,但在实际传输中差异较大,可能会对数据产生严重影响。虽然Web容器为了方便地获取变量值,屏蔽了它们之间的一些差异,但是在以后的编程中了解这些差异将会很有帮助。

表单中的get和post方法在数据传输时分别对应HTTP协议中的GET和POST方法。它们之间的主要区别如下:

1,Get用于从服务器获取数据,Post用于向服务器传递数据。

2.Get以variable=value的形式将数据添加到动作指向的URL,并使用“?”两者皆有。连接,并在变量之间使用“&”。连接;Post就是把表单中的数据放到表单的数据体中,按照变量和值的对应方式传递给动作指向的URL。

3.Get是不安全的,因为在传输过程中,数据是放在被请求的URL中的,现在很多现有的服务器、代理服务器或者用户代理都会把被请求的URL记录在一个日志文件中,放在某个地方,这样一些隐私信息就有可能被第三方看到。此外,用户还可以在浏览器中直接看到提交的数据,系统的一些内部消息也会显示在用户面前。Post的所有操作对用户都是不可见的。

4.Get传输的数据量小,主要是因为URL长度的限制;而且Post可以传输很多数据,所以上传文件的时候只能用Post(当然还有一个原因,后面会提到)。

5.Get将表单Form的数据集的值限制为ASCII字符;Post支持整个ISO10646字符集。

6.Get是Form的默认方法。

*.Post在传输数据时不需要显示在URL中,但是Get方法应该显示在URL中。

*.Post传输的数据量很大,可以到达2M,而Get方法由于URL长度的限制,只能传输1024字节左右。

*.Post顾名思义就是向服务器段传输数据,Get就是从服务器段获取数据。Get也可以传输数据,但只是用来设计和告诉服务器你需要什么样的数据。Post信息作为http请求的内容,Get在Http头中传输。

web表单中获取模式和发布模式的区别

1和get能传输的数据量是有限的,大概是2K,而iis5的post量达到100k,所以人们可以默认post是无限的。

2.在提交表单(如帐户密码)时,get方法不如post方法安全。表单被get提交后,浏览器的url会在地址栏显示你提交的所有表单参数,你可以通过机器的缓存直接查看参数;post方法不会;

3.get模式接收后台处理页面中的每个参数请求。QueryString职位是应要求获得的。形式;

4.get方法将忽略