首页 > 其他分享 >GET 和 POST详解

GET 和 POST详解

时间:2022-08-25 02:44:24浏览次数:67  
标签:HTTP 请求 GET URL 详解 POST 数据

https://blog.csdn.net/qq_44204058/article/details/113984363

一、HTTP请求方法
Http协议定义了很多与服务器交互的方法,最基本的有4种,分别是GET,POST,PUT,DELETE.

一个URL地址用于描述一个网络上的资源,而HTTP中的GET, POST, PUT, DELETE就对应着对这个资源的查,改,增,删4个操作。

我们最常见的就是GET和POST了。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息.

1、GET - 最常见的一种请求方式
当客户端要从服务器中读取文档时,当点击网页上的链接或者通过在浏览器的地址栏输入网址来浏览网页的,使用的都是GET方式。
GET方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给客户端。

使用GET方法时,请求参数和对应的值附加在URL后面,利用一个问号(“?”)代表URL的结尾与请求参数的开始,传递参数长度受限制。
可以看到,GET方式的请求一般不包含”请求内容”部分,请求数据以地址的形式表现在请求行。地址链接如下:

 

 地址中”?”之后的部分就是通过GET发送的请求数据,在地址栏中可以看到,各个数据之间用”&”符号隔开。很显然,这种方式不适合传送私密数据。
另外,由于不同的浏览器对地址的字符限制也有所不同,一般最多只能识别1024个字符,所以如果需要传送大量数据的时候,也不适合使用GET方式。

2、POST
对于上面提到的不适合使用GET方式的情况,可以考虑使用POST方式,因为使用POST方法可以允许客户端给服务器提供信息较多。POST方法将请求参数封装在HTTP请求数据中,以名称/值的形式出现,可以传输大量数据,这样POST方式对传送的数据大小没有限制,而且也不会显示在URL中。

POST方式请求行中不包含数据字符串,这些数据保存在”请求内容”部分,各数据之间也是使用”&”符号隔开。
POST方式大多用于页面的表单中。因为POST也能完成GET的功能,因此多数人在设计表单的时候一律都使用POST方式,其实这是一个误区。
GET方式也有自己的特点和优势,我们应该根据不同的情况来选择是使用GET还是使用POST。

3、HEAD

HEAD就像GET,只不过服务端接受到HEAD请求后只返回响应头,而不会发送响应内容。当我们只需要查看某个页面的状态的时候,使用HEAD是非常高效的,因为在传输的过程中省去了页面内容。

4、Get和Post方法的区别
我们看看GET和POST的区别

1. GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456. POST方法是把提交的数据放在HTTP包的Body中.

2. GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制.

3. GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值。

4. GET方式提交数据,会带来安全问题,比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码。

二、背景介绍

get 和 post是HTTP中请求数据的方法;application json 与form表单是HTTP中传输文件的类型,所以要了解其中的区别,要先了解HTTP 协议格式 和 HTTP Header

三、知识剖析
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.1,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。

HTTP请求数据:

 

 


HTTP响应数据:

 

 


四、常见问题
get 与 post的区别?

1.GET请求的数据会附在URL之后,以?分割URL和传输数据,参数之间以&相连,POST把提交的数据则放置在是HTTP包的包体中。

2.GET的长度受限于url的长度,而url的长度限制是特定的浏览器和服务器设置的,理论上GET的长度可以无限长。

3.POST是没有大小限制的,HTTP协议规范也没有进行大小限制,起限制作用的是服务器的处理程序的处理能力

4.在ASP中,服务端获取GET请求参数用Request.QueryString,获取POST请求参数用Request.Form。

5.POST的安全性要比GET的安全性高

application json 与form表单的区别?

首先,Content-Type 被指定为 application/x-www-form-urlencoded,jQuery的Ajax请求默认方式,其次,数据以键值对形式?key1=value1&key2=value2的方式发送到服务器

post和get的选择?

私密性的信息请求使用post。

查询信息和可以想要通过url分享的信息使用get。

标签:HTTP,请求,GET,URL,详解,POST,数据
From: https://www.cnblogs.com/Dongmy/p/16620136.html

相关文章

  • Object.defineProperty方法详解(全面)
     Object.defineProperty方法详解(全面) 一、Object.defineProperty的作用就是直接在一个对象上定义一个新属性,或者修改一个已经存在的属性二、Object.defineproperty方......
  • ts get和set
       classUser{//get、set方法的成员变量命名时建议在前面加_private_fullName:string;//get的用法getfullName():string{re......
  • objects.get和objects.filter方法
    django的get是从数据库的取得一个匹配的结果,返回一个对象:用get方法来查询一个数据库里不存在的记录会报错用get去取得关联表的数据时,结果多于2条的话也会报错......
  • Postman中的断言
    Postman设置断言一、断言的定义1、什么是断言?一般一个完整的接口测试,包括:请求->获取响应正文->断言,请求和获取响应正文很常见。断言一般是对请求的响应结果做操作,判断预......
  • java泛型详解
    java泛型详解1.泛型​ Java泛型是J2SE1.5中引入的一个新特性,其本质是参数化类型,也就是说所操作的数据类型被指定为一个参数(typeparameter)这种参数类型可以用在类、接......
  • 发布NuGet包
    1.登录NuGet1.1打开NuGet包管理器1.2使用微软账号登录1.3点击账号,下拉菜单中的APIKeys2.创建APIKeys2.1Create2.2Manage复制出来,一会用到3.创建类库......
  • WebApi传数据以及Postman测试
    1.参数传值代码截图postman截图postman结果截图2.参数传json数据2.1传一条数据代码截图postman截图postman结果截图2.2传一个集合(多条数据)代码截图pos......
  • target与currentTarget
    在符合DOM2标准的浏览器中,事件对象都具有以下属性和方法。target表示当前事件最终捕获到的目标。<divclass="a">我是第一个节点a<divclass="b">我是第二......
  • sql 2008 r2 重新安装时提示 MsiGetProductInfo 无法检索 Product Code 为“{xxxxxxxx
    问题:sql2008r2重新安装时提示MsiGetProductInfo无法检索ProductCode为“{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}”解决办法:win+r输入regedit回车找到注册表中的......
  • postmapping和RequestMapping的区别
    postmapping和RequestMapping的区别@GetMapping用于将HTTPGET请求映射到特定处理程序方法的注释。具体来说,@GetMapping是一个作为快捷方式的组合注释@RequestMapping(......