Http Request Methods

HTTP 协议定义了一系列的request方法
GET、POST、HEAD、PUT、DELETE、TRACE、OPTIONS、CONNECT,其中GET和POST是应用最多的,网页中的表单的提交都用GET或POST请求方式。

        GET请求方法用于信息获取,而且应该是安全的和幂等的。
1、所谓安全的意味着该操作用于获取信息而非修改信息。
2、幂等的意味着对同一URL的多个请求应该返回同样的结果。
例如:发送一个GET请求,服务器可以返回一个网页内容,总之,就是获取内容。

        POST请求方法可能改变服务器上的资源。
例如:在blog最后进行评论,可以通过POST的请求方法将评论进行提交,之后网页中会显示评论的内容。

        在表现上,通过GET方式进行的请求,在浏览器的地址栏中会显示URL以及提交的数据,并以?来分割URL和传输数据,多个参数用&连接。
        而通过POST方式进行的请求,提交的数据会被包裹在HTTP包的体内。
        因此,从安全性上来说,POST会比GET更安全,不容易泄漏用户信息。
        举个例子来说,像在百度中进行搜索时,当点击百度一下之后,地址栏中会出来一串东西,而在“?”之后,有不少参数,搜索的关键字会被显示在地址栏中,浏览器若设记录历史,那么很容易让人别知道你查过什么,从而得知你的搜索爱好,譬如:波多野吉衣啦,哈哈!!


Content Negotiation是个好东西。
HTTP支持客户端与服务器端的协商,客户端可以利用附加的request headers,如Accept, Accept-Lanuage, Accept-Charset, Accept-Encoding来告诉服务器端它更倾向于的content。如果服务器端可以提供同一文件的不同格式的多种版本,它会返回给客户端更倾向于的那种。


more:
HTTP POST GET 本质区别详解
In Introduction to HTTP Basics

猜你喜欢

转载自songkang666.iteye.com/blog/1848532
今日推荐