`

GET/POST

 
阅读更多
HTML <form> 标签的 method 属性
HTML <form> 标签
定义和用法
method 属性规定如何发送表单数据(表单数据发送到 action 属性所规定的页面)。

表单数据可以作为 URL 变量(method="get")或者 HTTP post (method="post")的方式来发送。
实例
在下面的例子中,表单数据将通过 method 属性附加到 URL 上:

<form action="form_action.asp" method="get">
  <p>First name: <input type="text" name="fname" /></p>
  <p>Last name: <input type="text" name="lname" /></p>
  <input type="submit" value="Submit" />
</form>

method 属性
浏览器使用 method 属性设置的方法将表单中的数据传送给服务器进行处理。共有两种方法:POST 方法和 GET 方法。

如果采用 POST 方法,浏览器将会按照下面两步来发送数据。首先,浏览器将与 action 属性中指定的表单处理服务器建立联系,一旦建立连接之后,浏览器就会按分段传输的方法将数据发送给服务器。

在服务器端,一旦 POST 样式的应用程序开始执行时,就应该从一个标志位置读取参数,而一旦读到参数,在应用程序能够使用这些表单值以前,必须对这些参数进行解码。用户特定的服务器会明确指定应用程序应该如何接受这些参数。

另一种情况是采用 GET 方法,这时浏览器会与表单处理服务器建立连接,然后直接在一个传输步骤中发送所有的表单数据:浏览器会将数据直接附在表单的 action URL 之后。这两者之间用问号进行分隔。

一般浏览器通过上述任何一种方法都可以传输表单信息,而有些服务器只接受其中一种方法提供的数据。可以在 <form> 标签的 method (方法)属性中指明表单处理服务器要用方法来处理数据,使 POST 还是 GET。
POST 还是 GET?
如果表单处理服务器既支持 POST 方法又支持 GET 方法,那么你该选择哪种方法呢?下面是有关这方面的一些规律:

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

x=28&y=66如果表单采用了 method=GET,那么用来引用服务器端应用程序的 URL 将如下所示:

http://www.example.com/example/program?x=28&y=66
在任何时候我们都可以创建一个传统的 <a> 标签,用它在调用带有所需参数值的表单,其形式如下所示:

<a href="http://www.example.com/example/program?x=28&y=66">
唯一的问题是,分隔参数所用的 & 符号也是字符实体中的插入符号。如果在 <a> 标签的 href 属性中放入一个 & 符号,浏览器就会将其后面的字符替换成相应的字符实体。

为了防止出现这种情况,我们必须用它的实体对等物来替换 & 符号,也就是用 "&#38;" 或 "&amp;" 来替换。替换之后,上面的那个引用服务器应用程序的非表单示例将如下所示:

<a href="http://www.example.com/example/program?x=28&amp;y=66">
由于这样还是不能在 URL 中使用 & 符号,并且有可能在将来带来混乱,因此我们鼓励服务器设置最后也能够接受用分号作为参数分隔符。您也可以看看自己的服务器文档,了解服务器是否支持这种功能。
语法
<form target="value">
属性值
值          描述  
_blank    在新窗口中打开。        
_self     默认。在相同的框架中打开。         
_parent   在父框架集中打开。         
_top      在整个窗口中打开。         
framename 在指定的框架中打开。

分享到:
评论

相关推荐

    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服务才行。程序会会自动发送用户选择的请求类型,并跟踪这个请求,并返回信息在主窗体上。

    c# 运用get/post 和使用webservice

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

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

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

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

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

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

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

    jQuery+get/post+Ajax+Json

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

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

    本文将深入探讨如何使用WinSock库模拟GET和POST方法来发送HTTP请求并接收响应数据。 首先,GET和POST是HTTP协议中的两种主要请求方法。GET方法用于请求获取指定资源,它在URL中显示请求参数,通常用于浏览网页或...

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

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

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

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

    C语言开发Linux下web服务器(支持GET/POST,SSL,目录显示等)

    在本项目中,我们将探讨如何使用C语言在Linux操作系统下开发一个功能丰富的Web服务器,它支持HTTP协议的GET和POST请求、SSL加密以及目录显示功能。这个任务涉及到多个IT领域的核心概念,包括网络编程、系统编程、...

    AfnetWorking网络请求demo(get/post)

    本教程将详细讲解如何使用AfNetworking进行GET和POST请求的实现,通过`AfnetWorking网络请求demo(get/post)`实例来深入理解其工作原理。 首先,我们了解下AfNetworking的基本概念。AfNetworking是一个基于Objective...

    Java发送HTTP请求GET/POST测试

    它有多种请求方法,GET和POST是最常用的两种。 2. **GET请求** GET方法是HTTP请求中最简单也最常见的一种,用于获取资源。在Java中,我们可以使用`java.net.URL`和`java.net.HttpURLConnection`类来发送GET请求。...

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

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

    C语言源码:http get/post 下载文件。

    C语言源码:http get/post 下载文件,里面包括了ip解析,端口号解析,文件读写等。

    用于模拟GET/POST方法发送HTTP请求并取得数据

    用WinSock写的一个模拟GET/POST方法发送HTTP请求并取得数据的一个小东东。一个朋友希望我帮他做在一个复杂的WEB系统里面自动取某些页面数据的小程序,但没办法改他的现有系统,只好写个模拟的浏览器,打算做成自动...

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

    本教程将详细讲解如何在Gin中接收GET和POST请求的参数。 首先,我们需要引入Gin库。在`go.mod`文件中,确保你有以下依赖: ```go module example.com/gin_get_post go 1.14 require ( github....

    python-playwright修改GET/POST请求参数,抓包修改数据

    python--playwright修改GET/POST请求参数,抓包修改数据,内含: 1、index.py主代码,演示完整的抓包修改数据demo 2、flaskServer.py服务端,用于返回传入的参数 运行顺序: 先运行:python flaskServer.py 然后再...

    C# Http(Get/Post)以及Json解析源码

    C# Http(Get/Post)以及Json解析源码

    Java模拟get/post登陆(含验证码)

    本篇文章将深入探讨如何使用Java模拟GET/POST登录,特别是涉及验证码处理的情况。我们将主要关注Httpclient库的使用,以及可能涉及到的图像识别技术(OCR)。 首先,让我们了解一下HTTP的基本概念。HTTP是超文本...

Global site tag (gtag.js) - Google Analytics