`

get/post提交怎么判别如何使用

阅读更多
引用

get/post方式:

get方式:

A. 表单默认提交的方式,浏览器地址栏直接输入

一个地址,使用链接访问。

B. 表单中的数据会添加到请求行,放置的数据有限,

而且数据会直接在浏览器的地址栏显示,不安全。

C. get方式,一般不适合用于浏览器向服务器提交

数据。适用于请求某个资源。

post方式:

A.对表单,设置了method="post"。

B.表单中的数据会添加到实体内容里,可以存放大量

数据。相对于get方式,会安全一些。

(不管哪种方式,都不是绝对安全的,因为浏览器

不会对数据进行加密)

C.一般如果有大量的数据需要提交给服务器。

Form中的get和post方法,在数据传输过程中分别对应了HTTP协议中的GET和POST方法。二者主要区别如下:
  1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。
  2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用 “&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。
  3、Get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。Post的所有操作对用户来说都是不可见的。
  4、Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输大量的数据,所以在上传文件只能使用Post(当然还有一个原因,将在后面的提到)。
  5、Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。
  6、Get是Form的默认方法。
  

总结起来:

get方式:以URL字串本身传递数据参数,在服务器端可以从'QUERY_STRING'这个变量中直接读取,效率较高,但缺乏安全性,也无法来处理复杂的数据(只能是字符串,比如在servlet/jsp中就无法处理发挥java的比如vector之类的功能);

post方式:就传输方式讲参数会被打包在数据报中传输,从CONTENT_LENGTH这个环境变量中读取,便于传送较大一些的数据,同时因为不暴露数据在浏览器的地址栏中,安全性相对较高,但这样的处理效率会受到影响

POST 还是 GET?

如果表单处理服务器既支持 POST 方法又支持 GET 方法,那么你该选择哪种方法呢?下面是有关这方面的一些规律:

    * 如果希望获得最佳表单传输性能,可以采用 GET 方法发送只有少数简短字段的小表单。
    * 一些服务器操作系统在处理可以立即传递给应用程序的命令行参数时,会限制其数目和长度,在这种情况下,对那些有许多字段或是很长的文本域的表单来说,就应该采用 POST 方法来发送。
    * 如果你在编写服务器端的表单处理应用程序方面经验不足,应该选择 GET 方法。如果采用 POST 方法,就要在读取和解码方法做些额外的工作,也许这并不很难,但是也许你不太愿意去处理这些问题。
    * 如果安全性是个问题,那么我们建议选用 POST 方法。GET 方法将表单参数直接放在应用程序的 URL 中,这样网络窥探者可以很轻松地捕获它们,还可以从服务器的日志文件中进行摘录。如果参数中包含了信用卡帐号这样的敏感信息,就会在不知不觉中危及用户的安全。而 POST 应用程序就没有安全方面的漏洞,在将参数作为单独的事务传输给服务器进行处理时,至少还可以采用加密的方法。
    * 如果想在表单之外调用服务器端的应用程序,而且包括向其传递参数的过程,就要采用 GET 方法,因为该方法允许把表单这样的参数包括进来作为 URL 的一部分。而另一方面,使用 POST 样式的应用程序却希望在 URL 后还能有一个来自浏览器额外的传输过程,其中传输的内容不能作为传统 <a> 标签的内容。


分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    c# 运用get/post 和使用webservice

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

    html页面模式get/post请求

    通过设置`method`属性,我们可以指定表单使用GET还是POST方式提交数据。例如: ```html &lt;form action="your-api-url" method="post"&gt; &lt;!-- 输入字段 --&gt; &lt;!-- 提交按钮 --&gt; 提交&lt;/button&gt; &lt;/form&gt; ``` 对于...

    VC 演示GET_POST发送请求的HTTP客户端.rar_VC HTTP POST_VC++演示GET/POST发送请求_h

    VC++演示GET/POST发送请求的HTTP客户端,为了演示HTTP的客户编写的,因此运行时必须在本机有开HTTP服务才行。程序会会自动发送用户选择的请求类型,并跟踪这个请求,并返回信息在主窗体上。

    GO接收GET/POST参数及发送GET/POST请求的实例详解

    Golang: 接收GET和POST参数 GET 和 POST 是我们最常用的两种请求方式,今天讲一讲如何在 golang 服务中,正确接收这两种请求的参数信息。 处理GET请求 1.1 接收GET请求 //接收GET请求 func Get(writer ...

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

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

    HttpClient(用CloseableHttpClient发送get/post请求)

    HttpClient(用CloseableHttpClient发送get/post请求)

    Go语言中的gin框架之GET/POST请求参数接收传值(五)

    3. `/post-form`:处理POST请求,其中数据以Form表单格式发送。我们使用`c.PostForm()`获取表单数据。 在实际应用中,你可能还需要处理错误,验证参数,并根据需要添加中间件进行日志记录、权限控制等操作。 此外...

    httpclient get/post请求工具类(map参数封装)

    httpclient get/post请求工具类(map参数封装),方便调用

    Android网络框架Retrofit2使用封装:Get/Post/文件上传/下载

    框架主要包括:Get请求、Post请求、文件上传、文件下载。效果图及讲解见:https://blog.csdn.net/ahuyangdong/article/details/82760382。github源码:https://github.com/ahuyangdong/RetrofitFrame

    Qt http同步请求测试(restfull中常用的get/post/put/delete、文件上传/下载) 示例源码

    Qt http同步请求测试(restfull中常用的get/post/put/delete、文件上传/下载) 示例源码 https://blog.csdn.net/aggs1990/article/details/124104548 CSDN审核可能较慢,如无法下载,可以过段时间再回来看下

    C# http Get/POST请求封装类

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

    Rust使用 reqwest 发起 GET/POST 异步请求.pdf

    在处理POST请求的JSON数据时,与GET请求不同,这里使用了`serde_json::value::Value`,因为POST请求返回的JSON数据可能包含多种类型,而不仅仅是字符串。`serde_json`是一个在Rust中进行JSON序列化和反序列化的库,...

    google翻译API Get/Post 调用

    在使用谷歌翻译API时,可以采用GET或POST方法进行调用,这两种方式各有特点,适用于不同的场景。 首先,让我们详细了解GET和POST调用的区别: 1. GET方法:通常用于从服务器获取数据,URL中包含所有请求参数。在...

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

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

    模拟GET/POST方法发送HTTP请求

    要模拟GET/POST方法,首先需要创建一个WinSock套接字对象,并与HTTP服务器建立连接。这可以通过调用`WSAStartup`函数初始化WinSock库,然后创建一个`SOCKET`句柄,使用`connect`函数连接到服务器的特定端口(通常是...

    jQuery+get/post+Ajax+Json

    标题"jQuery+get/post+Ajax+Json"揭示了这一技术组合如何在现代Web应用程序中实现高效的数据通信。 首先,jQuery是一个轻量级的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画制作以及Ajax交互...

    java发送http/https请求(get/post)Demo,亲测可用

    这里我们将深入探讨如何使用Java发送GET和POST请求,以及处理JSON数据。 首先,让我们关注GET请求。GET请求主要用于从服务器获取资源,其参数通常包含在URL中。在Java中,可以使用`HttpURLConnection`类或者第三方...

    php 模拟get/post封装类

    //POST 同上 $http = new HttpRequest(); $res = $http-&gt;set($config) -&gt;open('http://127.0.0.1/HttpRequest/r.php') -&gt;post(array('time' =&gt; time())); echo '请求状态码:'. $res-&gt;HttpCode(); echo '&lt;br/&gt;头部...

    HTTP GET/POST传递参数

    介绍如何通过HttpClient模块来创建Http连接,并分别以Http GET与Http POST方法来传递参数,连接之后取回Web Server的返回网页结果。重点是如何使用HttpClient的模块来完成Http的请求与应答。 分享参考自Android SDK...

    Android总GET/POST请求服务器

    POST方法则用于向服务器提交数据,通常用于创建或更新资源,其参数在请求体中,可以传输大量数据。 1. GET请求在Android中的实现: 在Android原生API中,可以通过HttpURLConnection或HttpClient类发送GET请求。...

Global site tag (gtag.js) - Google Analytics