HTTP请求方式:GET和POST请求的区别

GET和POST是HTTP的两个常用方法。

什么是HTTP?

超文本传输协议(HyperText Transfer Protocol -- HTTP)是一个设计来使客户端和服务器顺利进行通讯的协议。

HTTP在客户端和服务器之间以request-response protocol(请求-回复协议)工作。

GET - 从指定的服务器中获取数据

POST - 提交数据给指定的服务器处理

GET方法:

使用GET方法时,查询字符串(键值对)被附加在URL地址后面一起发送到服务器:

/test/demo_form.jsp?name1=value1&name2=value2

特点:

  • GET请求能够被缓存
  • GET请求会保存在浏览器的浏览记录中
  • 以GET请求的URL能够保存为浏览器书签
  • GET请求有长度限制
  • GET请求主要用以获取数据

POST方法:

使用POST方法时,查询字符串在POST信息中单独存在,和HTTP请求一起发送到服务器:

POST /test/demo_form.jsp HTTP/1.1

Host: w3schools.com

name1=value1&name2=value2

特点:

  • POST请求不能被缓存下来
  • POST请求不会保存在浏览器浏览记录中
  • 以POST请求的URL无法保存为浏览器书签
  • POST请求没有长度限制

GET和POST的区别:

  GET POST
点击返回/刷新按钮 没有影响 数据会重新发送(浏览器将会提示用户“数据被从新提交”)
添加书签 可以 不可以
缓存 可以 不可以
编码类型(Encoding type) application/x-www-form-urlencoded
application/x-www-form-urlencoded or multipart/form-data. 请为二进制数据使用multipart编码
历史记录 没有
长度限制 没有
数据类型限制 只允许ASCII字符类型 没有限制。允许二进制数据
安全性 查询字符串会显示在地址栏的URL中,不安全,请不要使用GET请求提交敏感数据 因为数据不会显示在地址栏中,也不会缓存下来或保存在浏览记录中,所以看POST求情比GET请求安全,但也不是最安全的方式。如需要传送敏感数据,请使用加密方式传输
可见性 查询字符串显示在地址栏的URL中,可见 查询字符串不会显示在地址栏中,不可见

其他HTTP请求方式

方式 描述
HEAD 与GET请求类似,不同在与服务器只返回HTTP头部信息,没有页面内容
PUT 上传指定URL的描述
DELETE 删除指定资源
OPTIONS 返回服务器支持的HTTP方法
CONNECT 转换为透明TCP/IP隧道的连接请求
时间: 2024-11-10 01:13:11

HTTP请求方式:GET和POST请求的区别的相关文章

HTTP请求方式中get和post的区别

表单提交中get和post方式的区别有5点 1.get是从服务器上获取数据,post是向服务器传送数据. 2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址.用户看不到这个过程. 3.对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Requ

HTTP请求方式中8种请求方法

HTTP请求的方法: HTTP/1.1协议中共定义了八种方法(有时也叫"动作"),来表明Request-URL指定的资源不同的操作方式 HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法. HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法 1.OPTIONS 返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送'*'的请求来测试服务器的功能性 2.HEAD 向服务器索与GET

go中处理各种请求方式以及处理接口请求参数

话不多说直接上代码,解读内容全部在代码中 1.处理请求方式 package main import ( "fmt" "io/ioutil" "net/http" "net/url" "strings" ) //这个文件是对于net/http包的解读 func httpGet() { //func Get(url string) (resp *Response, err error) resp, err :=

对get post等http请求方式的理解

本文是关于get,post等几种请求方式的资料搜集和学习,HTTP,HTTP2协议的涉及点,然后提到了socket协议,RPC 先是和朋友的一些交流对话,问着问着就到了我的知识盲区.需要恶补一下这方面的知识了.朋友问:get 的请求方式 ,是不是只是单方面接受服务器发送的数据?我答:前半句和后半句,没关联吧?请求方式,所有的请求方式,都是能够接受数据的,就是格式啊,类型啊,方式啊 不一样朋友问:get 发送的都是啥玩意,服务器怎么知道我需要给传回什么东西呢我答:,,,你要发啥,对于Web来说,g

第五阶段:JAVAEE 和项目开发(第三课:HTTP的请求头和请求方式)

4. HTTP 协议之请求格式 请求格式的结构:请求行:请求方式.请求的地址和 HTTP 协议版本 请求头:消息报头,一般用来说明客户端要使用的一些附加信息 空行: 位于请求行和请求数据之间,空行是必须的. 请求数据:非必须. 注意: 一张网页的内容是极其丰富的,浏览器会遵循 HTTP 请求的格式将有效数据发送给服务器. 示例(get 请求方式): 示例(post 请求方式): 5. HTTP 协议之请求方式 根据 HTTP 标准,HTTP 请求可以使用多种请求方法. HTTP1.0 定义了三种

iOS-GET请求详细操作-GET设置请求头

难得一次备注相当详细的原生GET网络请求操作,强迫症一样记录下来和大家分享- 也备复制用 -(void)getResult{ _MB = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES]; //接口路径 NSString *path = @"http://a.apix.cn/apixlife/phone/phone"; //路径-+参数 NSString *pathWithPhoneNu

javaweb解决post和get请求方式中文乱码问题(通用)

添加一个过滤器,解决乱码问题,代码如下: 1 import java.io.IOException; 2 import java.io.UnsupportedEncodingException; 3 import java.util.Map; 4 5 import javax.servlet.Filter; 6 import javax.servlet.FilterChain; 7 import javax.servlet.FilterConfig; 8 import javax.servlet

HTTP深入浅出之http请求和15中以上的请求方式

HTTP的介绍及其通信机制 HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则.计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务,HTTP目前协议的版本是1.1.HTTP是一种无状态的协议,无状态是指Web浏览器和Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后Web服务器返回响应(response),连接就被关闭了,在服务器端不保留连接的有关信息.HT

远程服务器存储之框架方式的get和post请求方式

一.Volley 1.特点 1-轻量级的Android网络通信库 2-适合数量不大但通信频繁的场景 2.API 1-RequestQueue 1>请求队列 2>Volley.newRequestQueue(context)  :创建或得到请求队列并且是单例模式 3>add(Request):添加请求到队列中 2-Request 1>封装请求的基类 2>子类 1>-StringRequest:返回字符串的请求 构造方法:1-new StringRequest(get_pa

Get和Post方式请求一个地址,返回请求数据

package cn.gis; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; /** * 路径分析 * @author 刘仁奎 */ public class GISData { /** * Get请求方式 * * @param urlAdd