标签: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方式既然依旧存在,必然还是有好处的,这个可能就是完全从技术角度分析的,比如稳定等。
标签:http请求
原文地址:http://blog.csdn.net/sun11462/article/details/44488657