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

HTTP请求Get和Post的区别总结

    博客分类:
  • HTTP
阅读更多

 

区别与联系:GET一般用来取数据Post一般用来提交数据

 

  • get是从服务器上获取数据,post则是向服务器传送数据;
  • get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面;Post是将表单中的数据放在请求的数据体中,按照变量和值相对应的方式,传递到action所指向URL;

所以从上述也可以得到另外两个结论:

 

  • get传送的数据量较小,不能大于2KB,这主要是因为受URL长度限制。post传送的数据量较大,所以在上传文件只能使用Post。一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB;
  • get安全性非常低(因为用户可以通过URL看到),post安全性较高(其所有操作对用户来说都是不可见的)。但是执行效率却比post方法好;
  • Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集;
  • Get是Form的默认方法;
  • Get方式提交来的数据在服务器端用Request.QueryString()来获取,用Post方式提交的数据用Request.Form()来获取(这一点不是很明确);

建议:

1、如果是包含机密信息的话,建议用post数据提交方式;

2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;

 

所以如果有敏感数据是不应该用get方法的,但是有例外,就是ajax请求时候即使是敏感字段也可以用get。 

 

关于响应速度: 

  • get请求是可以被客户端缓存的。比post高效。 
  • AJAX环境中get响应快速,post需要先发送header再发送post data;

关于安全:

  • GET requests can be cached 
  • GET requests can remain in the browser history 
  • GET requests can be bookmarked 
  • GET requests can be distributed & shared 
  • 说 POST 比 GET 安全肯定是错的,POST跟GET都是明文传输;
  • 语义上,GET是获取指定URL上的资源,是读操作,重要的一点是不论对某个资源GET多少次,它的状态是不会改变的,在这个意义上,我们说GET是安全的(不是被密码学或者数据保护意义上的安全);
  • 因为GET是安全的,所以GET返回的内容可以被浏览器,Cache服务器缓存起来(其中还有很多细节,但不影响这里的讨论);
  • 而POST的语意是对指定资源“追加/添加”数据,所以是不安全的,每次提交的POST,参与的代码都会认为这个操作会修改操作对象资源的状态;浏览器在你按下F5的时候会跳出确认框,缓存服务器不会缓存POST请求返回内容;

 

 

 

 

 

分享到:
评论

相关推荐

    Ajax中get和post区别

    "Ajax中Get和Post请求的区别" Ajax作为异步JavaScript和XML的简写,是一种创建交互式网页的技术。其中,Get和Post是两种常用的HTTP请求方法,尽管它们都是用于将数据从客户端发送到服务器端,但是它们之间存在着很...

    j2me Http Get和Post请求总结

    这篇博客文章“j2me Http Get和Post请求总结”主要探讨了如何在J2ME环境中实现这两种请求。 首先,GET请求是HTTP协议中最常见的一种方法,通常用于从服务器获取数据。在J2ME中,我们可以使用`javax.microedition.io...

    C# http Get/POST请求封装类

    GET和POST是HTTP协议中最常见的两种请求方法,分别用于获取资源和提交数据。本文将详细讨论如何在C#中封装一个用于执行HTTP GET和POST请求的类,以及`HttpHelper.cs`文件中的关键实现。 首先,了解GET和POST的基本...

    winform GET请求和POST请求

    总结来说,GET和POST是HTTP请求中的基本操作,它们在Winform应用程序中用于与服务器进行通信。GET用于获取数据,而POST用于发送数据,包括敏感信息。理解这两者的工作原理和使用方法,对于开发能够与Web接口有效交互...

    基于Labview的HTTP的GET与POST请求示例

    超文本传输协议(HTTP)的...两种 HTTP 请求方法:GET 和 POST 在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。 GET - 从指定的资源请求数据。 POST - 向指定的资源提交要被处理的数据

    VC++ HTTP Get Post请求

    在VC++编程环境中,HTTP(超文本传输协议)Get和Post请求是常见的网络通信方法,用于从或向服务器发送数据。这两个方法是Web应用程序与服务器交互的基础,理解它们的工作原理和如何在VC++中实现至关重要。 **HTTP ...

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

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

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

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

    http get post 请求模拟器

    HTTP是互联网上应用最为广泛的一种网络协议,GET和POST是HTTP协议中的两种主要请求方法,它们在Web开发中扮演着重要角色。理解这两者的工作原理和区别对于进行网络编程至关重要。 1. GET请求: GET请求是HTTP中最...

    ajax POST 与GET提交的区别

    在探讨AJAX中GET和POST的区别之前,我们先来了解一下这两种请求方式的基本概念。 **GET**请求通常用于获取资源信息,它将参数拼接到URL后面,并通过URL传输数据。这种方式适合于那些不会更改服务器状态的操作,例如...

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

    总结来说,C#中的GET和POST请求是与服务器交互的基础,它们分别适用于不同的数据传输场景。GET请求用于获取信息,数据通过URL传递;而POST请求用于提交数据,数据包含在请求体中,适合传递大量或敏感信息。在C#的Web...

    VB6Get和POST请求异步处理请求

    在VB6(Visual Basic 6)编程环境中,GET和POST是两种主要的HTTP请求方法,用于从Web服务器获取数据或提交数据。这两种方法在进行网络通信时起着至关重要的作用,尤其是在开发基于Web的应用程序时。然而,在进行同步...

    html页面模式get/post请求

    首先,GET和POST是HTTP协议中的两种主要请求方法。GET通常用于获取资源,它将数据附加到URL上,以查询字符串的形式传递。而POST则常用于向服务器发送数据,如表单提交,数据被包含在请求正文中,这对于传输大量或...

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

    在C#编程中,HTTP(超文本传输协议)是用于客户端和服务器之间通信的主要协议,主要涉及GET和POST两种常见的请求方法。本文将详细介绍如何在C#中实现这两种请求,并结合给定的文件名,推测这是一个简单的C#桌面应用...

    Android中Https请求get和post

    总结,Android中实现HTTPS的GET和POST请求,需要处理证书信任问题,以及正确设置请求方法和参数。使用HttpURLConnection需要手动配置,而OkHttp则提供了更便捷的方式。在实际应用中,为了安全起见,建议使用权威的...

    C++实现HTTP GET,POST请求

    本篇文章将详细探讨如何使用C++来实现HTTP GET和POST请求,以及涉及HTTPS的安全连接。 HTTP GET请求是HTTP协议中最基础的操作之一,主要用于从服务器获取资源。GET请求的所有参数都包含在URL中,因此它是透明且可...

    Delphi两种方法演示HTTP请求:GET/POST.rar

    Delphi两种方法演示HTTP请求:GET/POST方法使用演示,程序将演示使用这两种方法建立会话、建立一个http请求句柄、发送一个指定请求到httpserver、接收header信息和一个http请求、指向一个接收请求信息的缓冲区的指针...

    QT C++ http get、post 同步异步请求

    本项目中,我们关注的是GET和POST两种请求方式,以及它们的同步和异步实现。下面将详细介绍这两种请求方式以及同步与异步的区别。 1. **QT中的HTTP GET请求** GET请求是最常见的HTTP请求类型,用于从服务器获取资源...

    post_get_put等请求方法的区别

    在本文中,我们将深入探讨 HTTP 请求方法的差异,包括 GET、POST、PUT 等请求方法的特点和应用场景。 HTTP 请求方法概述 HTTP 请求方法是指客户端向服务器端发送的请求,以获取或修改服务器上的资源。常见的 HTTP ...

Global site tag (gtag.js) - Google Analytics