`
bu_choreography
  • 浏览: 196699 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

什么时候用GET,什么时候用POST

阅读更多
刚开始学习Web开发的时候,总会遇到提交表单时使用GET方法还是POST方法的问题,最开始的时候因为没有经验并没有领悟,后来框架开发做多了,更是把这些原始基础知识扔出了银河系。最近开到一段W3的资料,写的不错,原文地址如下:http://bu-choreography.iteye.com/admin/blogs/new。翻译总结如下:
快速判断:
如下情况使用GET方法:客户端与服务端的交互像是一个提问(如查询操作、搜索操作、读操作)
如下情况使用POST方法:
       1.交互是一个命令或订单(order),比提问包含更多信息
       2.交互改变了服务器端的资源并被用户察觉,例如订阅某项服务
       3.用户需要对交互产生的结果负责
听起来稍微明白了一点,接着来。
根据HTTP协议规定,GET方法可以携带交互需要的所有数据,因此你会看到搜索百度或谷歌的时候,点击搜索形成的URL包含了你刚才的搜索关键字,没有安全需求的请求把信息放URL里没关系,但是你访问银行网站的时候,不希望把账户、密码这些放在URL里被人拦截是吧,所以HTTP设计了POST请求,他可以把请求信息放在HTTP请求里,具体格式这里不细说了,这样你就不能简单的从URL里找到账户、密码了。
讲完这些,是不是比较清楚了呢。
文章还例举了几个曾经的HTTP请求限制。
1.URI不能超过256个字符。这个限制在有些服务器里是存在的,有的服务器为了网络安全,为了防止拒绝式攻击会把URL字符限制在4000字符
2.你提交了GET请求,又马山按了backspace键,会导致get方法被重新执行
3.你在一个页面使用了安全协议,跳转到了另一个使用不安全协议的页面时,会导致安全数据泄漏给第二个页面。
4搜索服务不检索包含问号的URI
最早的搜索为了防止无限循环是这么做的,但是限制采用其他办法了,自然也没这个限制了
分享到:
评论

相关推荐

    在线PostGet本地版

    在线PostGet本地版是一款专为开发者设计的工具,它提供了与在线PostGet服务相同的功能,但可以在本地运行,便于开发者进行API测试、数据交互以及调试。这个应用简化了HTTP请求的发送过程,使得用户能够在自己的...

    Ajax中get和post区别

    在客户端代码中,我们使用XMLHttpRequest对象创建了一个Get请求和一个Post请求,并将参数传递给服务器端。在服务器端代码中,我们使用Request对象来获取参数,并返回结果。 结论 Get和Post请求都是HTTP请求方法,...

    c# 运用get/post 和使用webservice

    c# 运用get/post 和使用webservicec# 运用get/post 和使用webservicec# 运用get/post 和使用webservicec# 运用get/post 和使用webservice

    ajax POST 与GET提交的区别

    #### 三、AJAX中GET与POST的使用建议 根据上述分析,我们可以得出以下结论: - 对于只需要获取数据且数据量不大、不涉及敏感信息的场景,推荐使用GET请求。 - 对于需要提交大量数据、涉及敏感信息或需要改变服务器...

    get、post登录

    这个压缩包可能包含一个示例程序,演示了如何使用GET和POST方法实现登录功能。通过查看和学习这个示例,你可以了解如何在代码中设置请求方法,处理表单数据,以及如何在服务器端验证这些数据。 总的来说,理解GET和...

    GET与POST的区别

    "GET与POST的区别" GET和POST是HTTP协议中两种最常用的请求方法,它们都是用来从客户端向服务器端发送请求的,但它们之间有很多不同...我们需要根据实际情况选择使用GET或POST方法,以确保数据安全和高效的数据交互。

    get、post区别

    理解GET与POST的区别对于掌握Web开发至关重要。 ### GET与POST的基本区别 #### 1. 数据传输位置 - **GET**:参数通过URL进行传递,数据附在URL之后,以问号“?”分隔URL和传输数据,并且多个参数之间用“&”符号...

    C# 使用Get和Post请求获取数据

    在IT行业中,C#是一种广泛使用的编程语言,特别是在开发Windows应用程序、Web服务和游戏等领域。在Web开发中,与服务器进行交互的一个...通过理解和熟练掌握GET和POST请求的使用,可以更高效地开发和维护Web应用程序。

    get与post实例

    本文将深入探讨GET和POST的区别、应用场景以及VB(Visual Basic)中如何使用它们。 GET和POST是HTTP请求的核心方法,用于从服务器获取数据或向服务器发送数据。GET主要用于从服务器获取资源,它的参数通常显示在URL...

    Http协议中POST和GET方法的本质区别

    在实际应用中,尽管GET和POST的使用有明确的指导原则,但开发者有时会根据便利性而混合使用。例如,为了简单快速,可能会使用GET来执行本应由POST处理的修改操作。这主要是由于早期Web框架对PUT和DELETE方法的支持...

    VC++ HTTP Get Post请求

    以上代码展示了如何在VC++中使用MFC实现HTTP GET和POST请求。在实际项目中,需要根据服务器的API和返回数据格式进行相应的调整和错误处理。注意,为了确保程序稳定,通常需要对可能出现的网络异常进行妥善处理。此外...

    对Django 中request.get和request.post的区别详解

    Django 中request.get和request.post的区别 POST和GET差异: POST和GET是HTTP协议定义的与服务器交互的方法。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。另外,还有PUT和DELETE方法。 POST和GET都...

    http get post 请求模拟器

    总的来说,了解并熟练使用HTTP的GET和POST请求是网络开发的基础,而HTTP请求模拟器则是开发者测试和调试HTTP接口的强大工具。通过阅读"使用说明.txt",你可以学习如何有效地利用这个工具,提高工作效率。同时,访问...

    GET与POST用法

    ### GET与POST用法 #### 一、GET方法详解 GET方法是一种常用的数据获取方式,在Web开发中极为普遍。此方法通常用来从服务器获取信息,这些信息可以是文本、图片、视频等多种类型的数据。根据提供的内容,我们可以...

    C++ 实现 HTTP HTTPS POST GET(包含curl版本和winhttp两种实现)

    C++ 实现 HTTP HTTPS POST GET(包含curl版本和winhttp两种实现)。 玩过抓包,网络协议分析的朋友肯定都知道http https post get,web端和用户的交互主要是通过post get完成的。 我这里有两种实现: 1:libcurl实现的...

    httppost和httpget需要的jar包

    以上代码展示了如何创建一个`CloseableHttpClient`实例,然后使用`HttpGet`和`HttpPost`进行请求。在POST请求中,我们通过`StringEntity`设置请求体。执行请求后,使用`EntityUtils.toString()`获取响应体。 总的来...

    android基础 - POST GET

    一、POST与GET方法的区别 1. 工作原理: - GET:请求参数附加在URL后面,通过?分隔,再用&连接各个参数。这种方式限制了URL长度,不适合传递大量数据或敏感信息。 - POST:请求参数放在请求体中,不受URL长度...

    MFC的HttpClient的Get和Post方法

    以下是使用HttpClient发送GET和POST请求的基本步骤: 1. 引入头文件:在代码中包含必要的头文件,如`#include <wininet.h>`。注意,为了使用这些API,需要链接到`Wininet.lib`库。 2. 初始化Internet会话:调用`...

    浅析Get与Post的区别

    Get和Post是两种常用的表单提交方式,在Web开发中经常被使用。但是,很多人并不了解这两种方式的区别,导致在实际开发中出现问题。本文将详细阐述Get和Post的区别,以便读者更好地理解和使用这两种方式。 Get方式 ...

Global site tag (gtag.js) - Google Analytics