`

简说 get post 的区别和用途

    博客分类:
  • tips
 
阅读更多

每日一点tips

 

最近碰到有人在讨论这个,还有带有主观色彩认为“post 比 get 好”。这里也简单写写。

 

说到post和get的区别和优缺点,一般都会提到get方式在url上的长度限制,以及url上面那一长串显示给某些算是“强迫症”的用户带来一点点的不舒适(或者是因为东西在url上显示出来让人感觉有点不好,或者按照某人说法,url上东西越少‘感觉’越好些)。想当初我被传递这一个概念的时候,也懵逼地觉得好像有道理……

 

言归正传,网上也有很多更详细的解释,这里就简单罗列几点:

 

get 和 post本质一样: HTTP协议中发送请求的两种方法,都是TCP链接。

 

  • post 优点和用途:

       各浏览器商和服务器商对url做了长度限制,也就直接影响了get发送的数据长度。

       post数据不会被主动缓存。

 

       进行数据新增和更改的时候用post 方式。毕竟表单提交的内容多而且总有会涉及到些敏感数据。

 

  • get 优点和用途

       get的速度比post快一点点。因为post在发送数据之前需要先发送header,在得到100响应后再继续发送         内容。而get是一步到位。

       get在浏览器回退时不会再次提交请求,post会。

 

       进行搜索查询时用get方式。

 

最后再提一点,当真的碰上有的用户提出当进行搜索的时候url上面的内容能不能去掉这种时候,我想我们应该是以专业的角度跟人家说这种get方式进行查询是更合适,而至于所顾虑的安全问题本质上在查询这种场景中用post也一样存在。毕竟问的人是不够专业然后拿一点“似乎这样会更好”的想法来提,而要是为了满足这“看上去感觉更好”的想法而让我们不采用更合理的get方式,本身就不能接受……除非是要定制,那就是另一个话题咯。

分享到:
评论

相关推荐

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

    总结来说,GET和POST的主要区别在于其目的和行为:GET用于获取资源,是安全和幂等的,数据在URL中;POST用于创建或修改资源,可能改变服务器状态,数据在请求体中。在实际开发中,理解并遵循这些原则可以提高系统的...

    get、post区别

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

    GET请求和POST请求的区别(详细)

    ### GET请求和POST请求的区别详解 #### 一、概述 HTTP协议定义了多种与服务器进行交互的方法,其中最基本的包括GET、POST、PUT和DELETE。这些方法分别对应于对网络资源的查询、更新、创建和删除操作。GET通常用于...

    Python实现简单的HTTP服务器(GET/POST)

    本文将深入探讨如何使用Python实现一个简单的HTTP服务器,支持GET和POST请求。通过理解这个过程,你可以更好地理解网络通信的基本原理,以及Python在网络编程中的应用。 首先,让我们了解HTTP(超文本传输协议)的...

    MFC实现的简单的HTTP的POST和GET方法的类

    本篇将详细讲解如何使用MFC实现简单的HTTP POST和GET方法,这对于开发需要与Web服务器交互的桌面应用来说非常有用。 首先,我们来看`HttpClient.h`文件,这通常包含了类的声明。在这个类中,我们可能看到一个名为`...

    简易后台服务post/get

    总结来说,这个项目提供了基于Node.js的简单后台服务,支持POST和GET请求,能够接收和响应来自前端的数据。它可能使用了Express框架来简化路由和请求处理,并且通过AJAX技术实现前后端的数据通信。对于初学者,这是...

    GET与POST用法

    #### GET与POST的区别 - **数据位置**:GET方法将参数附加在URL中,而POST方法将参数放在请求体中。 - **安全性**:由于GET方法将参数暴露在URL中,因此不适合传输敏感信息;POST方法相对更安全。 - **数据大小限制...

    VB6Get和POST请求异步处理请求

    首先,让我们了解一下GET和POST的区别。GET方法是向服务器发送一个查询,通常用于获取资源,例如网页、图片等。它将参数附加到URL上,因此请求的数据量有限,且请求历史会被浏览器记录。POST方法则更适用于提交数据...

    post get 请求测试工具 集成两个测试工具 简单和高级版本 大放送

    总的来说,"POST GET 请求测试工具"提供了方便快捷的方式,帮助开发者测试和调试HTTP接口,确保其功能正常且性能稳定。无论是简单的单个请求测试,还是复杂的并发场景模拟,都是开发和运维过程中不可或缺的工具。...

    MFC实现的简单的HTTP的POST和GET方法的类.zip

    在这个"MFC实现的简单的HTTP的POST和GET方法的类.zip"中,我们可以看到两个关键文件:HttpClient.cpp和HttpClient.h,这显然是一个实现了HTTP基本请求功能的C++类。 HttpClient类可能是用来处理HTTP协议中的两种...

    C#的http发送post和get请求源码

    本文将详细介绍如何在C#中实现这两种请求,并结合给定的文件名,推测这是一个简单的C#桌面应用程序,用于测试HTTP POST和GET请求。 1. **HTTP GET请求**: - GET请求是最基本的HTTP请求类型,用于从服务器获取资源...

    VC++ HTTP Get Post请求

    总的来说,VC++中的HTTP Get和Post请求涉及到网络通信的基本概念、WinInet库的使用、异步处理以及安全性的考量。通过熟练掌握这些知识点,开发者可以在VC++应用中实现与服务器的高效、安全通信。

    C#实现HTTP GET和POST 样例代码

    总结来说,理解并能够熟练使用C#实现HTTP GET和POST请求是每个.NET开发者必备的技能。通过`HttpClient`类,你可以轻松地与各种Web服务进行交互,无论是获取数据还是提交信息。实践这些示例代码,结合`HTTP_Demo`中的...

    Ajax中POST和GET的区别

    ### Ajax中POST和GET的区别详解 #### 一、概述 在Web开发中,尤其是在使用Ajax进行前后端交互的过程中,GET和POST是最常见的两种HTTP请求方式。这两种方式虽然都是用来发送请求给服务器,但在具体实现机制、适用...

    get post方法的区别

    ### GET与POST方法的区别 #### 一、基本概念 在Web开发中,GET与POST是两种最常用的HTTP请求方法,用于客户端(如浏览器)向服务器发送请求。它们各自有着不同的特性和应用场景,理解它们之间的差异对于正确使用...

    C# WebService 客户端 服务器 Get Post

    4. GET与POST的区别: - GET:主要用于获取数据,数据作为URL的一部分进行编码,一般用于查询操作。GET请求的大小有限制,且在浏览器历史记录中可见,安全性较低。 - POST:用于发送数据,数据包含在请求正文中,...

    关于HTML的Form的get和post

    HTML的Form是网页中用于收集用户输入数据的重要元素,它提供了...通过查看这个示例,我们可以更直观地理解这两种方法的区别和应用场景。在实际开发中,合理选择GET和POST方法对于优化用户体验和保证数据安全至关重要。

    get和post请求的区别.pdf

    ### GET和POST请求的区别 #### 一、概述 在HTTP协议中,GET和POST是最常见的两种请求方法。这两种方法在数据传输、安全性、数据量、数据类型等方面具有显著的不同。理解这些区别对于合理设计和实现Web应用至关重要...

Global site tag (gtag.js) - Google Analytics