全面比较HTTP GET与POST方法
1. 基本信息比较
|
属性 |
GET方法 |
POST方法 |
|
历史: |
通常使用GET方法发送的数据作为URL的一部分将会被浏览器保存起来 |
使用POST方法提交的数据则不会作为URL的一部分,当然不会浏览器保存。 |
|
书签: |
GET方法可能被浏览器当作书签(bookmark)保存 |
POST方法则不会 |
|
回退与重新提交: |
使用GET方法的页面可以被回退并重新执行而不通知用户 |
POST方法会通知用户再次提交 |
|
Form编码类型: |
GET提交数据只支持 application/x-www-form-urlencoded |
POST支持application/x-www-form-urlencoded与multipart/form-data |
|
参数: |
由于GET的参数一般都跟在URL后面,支持的数据大小一般在2K,有些服务器可以支持到64K。这个就是很多网页超过64K就挂掉的真实原因。因为服务器限制了。 |
发送参数,还可以是文件,大小在理论上没有限制。 |
|
被攻击: |
GET方法提交数据很容易被黑客攻击,实施脚本绑架。 |
POST方法相对GET方法不是那么容易被黑客攻击 |
|
数据类型限制: |
GET方法提交数据只能是文本数据 |
POST方法则不受限制,二进制文件也可以。 |
|
安全性: |
GET方法的安全性比POST方法要低一些,原因是数据做为URL的一部分是可见的。而且被浏览器存在历史访问记录中。 |
POST方法的安全性相对GET要高一些。因为参数数据不能被浏览器作为URL的一部分而存入历史访问记录中。 |
|
表单数据长度: |
由于表单数据做为URL的一部分而URL长度通常是有限制的。 |
POST方法没有限制。 |
|
可用性: |
GET方法通常不被用来发送密码与敏感信息。但是我发现还是有不少网站用GET来实现login。比如XXXX社区,它把login方法放在一个jquery完成JavaScript脚本中,用GET请求完成。 |
POST方法可以用来发送密码与其他敏感信息。 |
|
可见性: |
GET方法对所有人可见 |
POST方法的变量是不可见的在URL中 |
|
缓存: |
GET方法默认被缓存,这个就是很多时候用GET方法获取数据后面要跟个时间戳的原因 |
POST方法默认不被缓存。 除非Response头设置了Cache-Control或者Expires属性值。 |
|
最大的变量值: |
GET支持最大为7607个字符 |
POST方法支持最大值为8MB |
|
应用场合: |
GET最常用的场合是获取数据,浏览器获取网页时候绝大多数通过GET方法实现,大多数浏览器下载也是使用GET方法获取文件 |
POST主要用来向服务器提交数据。 |
石家庄网站建设的优点:我们是专属定制,制作符合您公司业务、风格的网站,这就做到给您制作的网站是网络上独一无二的网站,这样更有利于搜索引擎的收录。如果您喜欢网络上某个风格的网站或者网站模板,我们是只仿制而不直接套用,我们会对其中的结构和样式做增减优化,做…
竞价排名营销是一种通过 竞价购买搜索引擎中关键词或关键短语的广告方式。竞价排名营销分为两种类型。 第一种,直接为真正的搜索引擎结果的排名付费,也就是说付的钱越多,网页所获得的排名名也就越高。 第二种则更类似于普通的广告。这种竞价排名营销方式通过…
网站优化对网站来说是非常重要的,直接决定和影响着网站所起到的作用,以及在各个地方当中的排名。在进行seo优化的过程中,我们必须要坚持一定的原则,真正的把这些事情做得更好,才可以确保最终的结果,这对于我们来说是非常重要的事。 SEO优化主要分为8小步: …