Http与服务器交互的不同方法
浏览器中输入网址访问资源一般都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交。
Http协议定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET、POST、PUT、DELETE。
URL全称是资源描述符,可以认为一个URL地址用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查 ,改 ,增 ,删 4个操作。
但是由于get;post;就可以完成以上的所有的操作。所以在早期开发web框架的时候只能实现post和get方式发出的http请求;
get与post的比较:- GET 请求可被缓存
- GET 请求保留在浏览器历史记录中
- GET 请求可被收藏为书签
- GET 请求不应在处理敏感数据时使用
- GET 请求有长度限制
- GET 请求只应当用于取回数据
- POST 请求不会被缓存
- POST 请求不会保留在浏览器历史记录中
- POST 不能被收藏为书签
- POST 请求对数据长度没有要求
当然要说不同一定会谈到post,get的传值方式的不同。两者哪个方式传值的不同是因为请求的机制设定不同造成的。get是通过将参数放到url中传给服务器,这也会对请求的url产生一些限制和影响。而post则是将参数放到了HTTP包的包体中。就上所述,因为get将参数放到url中,而url本身长度也是有限制的,所以GET方式提交的数据最多只能是1024字节,而post请求参数是在报文中,所以理论上POST没有限制。
同样的因为get请求的参数是可见的,所以相对来说就是不安全的。每次发出get请求的时候,请求的url会被缓存在浏览器中,通过获得缓存中的url就可以解析出相应的参数。会对用户产生一些潜在的危险因素。
总结一下,一般来说向服务器请求数据用get请求。而向服务器提交数据用post请求。