码迷,mamicode.com
首页 > 其他好文 > 详细

Get,Post和Head详解

时间:2015-03-20 13:01:12      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:http请求

HTTP请求最常用的三个方法:

(1)Get方法. 取回请求URL标志的任何信息,在浏览器的地址栏中输入网址的方式访问网页时,浏览器采用GET方法向服务器获取资源。

(2)Post方法.为请求报文准备数据,即要求被请求服务器接受附在请求消息后面的数据,常用于提交表单。

(3)Head方法. 类GET方法,不响应页面Body部分,用于获取资源的基本信息,即检查链接的可访问性及资源是否修改。


其他方法:

PUT    请求服务器存储一个资源,并用Request-URI作为其标识
DELETE    请求服务器删除Request-URI所标识的资源
TRACE    请求服务器回送收到的请求信息,主要用于测试或诊断
CONNECT    保留将来使用
OPTIONS    请求查询服务器的性能,或者查询与资源相关的选项和需求

get方法的问题:通过get提交的数据,将会出现在URL上。如果登录页面可以被浏览器缓存,那么别人可以从浏览器的历史记录中读取到客户的账号和密码。get传送的数据量较小不能大于2KB。

Post方法的问题:Post方法需要服务器接收数据,对于服务器可能是不安全的。执行效率比较低

建议:
1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;

问题:为什么百度搜索使用Get而不适用Post?

可以看一下http协议的内容 http请求主要有三种方式 get,head,post ,而ie发起一个请求一般包含,消息头和消息体, 如果请求的方式是get或者head方式,那么ie只发送消息头到服务器, 如果是post请求,那么消息体(网页表单内容)和消息头都将传送到服务器,这样数据量就比其它两种方式的大一些 那么,依照上面所说,get方式请求,速度更快,但是,由于url是暴露在了用户面前,可能导致sql注入等非法攻击, 用post方式提交,速度会慢一些。但是由于url是隐藏在了表单中,所以安全性会好一点,这就是为什么,一般登录页面都用post提交而不用get提交

	从用户体验来看:如果用post方法搜索,百度的地址栏就没变化,而用get,地址栏则变成了一串网址。对于用户而言,有的时候确实是需要复制某一页面的搜索网址,这个时候就必须要用get方式。 而且post方式既然依旧存在,必然还是有好处的,这个可能就是完全从技术角度分析的,比如稳定等。

Get,Post和Head详解

标签:http请求

原文地址:http://blog.csdn.net/sun11462/article/details/44488657

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!