get和post的区别

简介: get和post的区别

GET和POST是什么

基本概念

GET和POST是 HTTP协议中的两种发送请求的方法


HTTP是什么

HTTP是hypertext transfer protocol(超文本传输协议)的简写, 它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。

客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器发送了一个HTTP请求。 一个完整的HTTP请求包括如下内容:一个请求行、若干消息头、以及实体内容

请求方式有:POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT


HTTP协议实际上是基于RFC规范的,实际上GET和POST请求的语法是完全相同的,但是在RFC规范中,给GET请求和POST请求规定了语义,规定GET用来获取信息,POST用来发送信息

get与post的区别

如果什么前提都没有,也就是不用任何规范限制的话,我们只考虑语法来说,这两个方式是没有任何区别的,只有名字不一样

如果考虑浏览器实现的RFC,或者说Web环境下的RFC的话,那么区别就很明显了

get方式

  1. GET方式是通过URL请求传递用户所输入的内容,其提交的内容会全部显示的浏览器的地址栏中;其安全性很低。如果用户输入的内容包含密码之类的私人信息时很容易被其他人获取
  2. GET方式提交需要用到Request.QueryString来取得变量的值
  3. GET提交具有长度限制,最长不能超过2048字节
  4. GET是从服务器上获取数据
  5. GET是把参数数据队列加到提交表单的action属性所指的URL中,值和表单内容一一对应,在URL中可以看到
  6. 在页面重新刷新载入时,没有提示框询问“是否重新发送请求”
  7. 在做请求时,GET是将表单内容放到信息的请求头中

post方式

  1. POST提交不会将用户所输入的个人信息显示在浏览器的地址栏中且地址栏中没有什么变化
  2. POST方式提交需要用到Request.Form来取得变量的值
  3. POST没有提交长度限制
  4. POST是向服务器传送数据
  5. POST是通过HTTP post机制,将表单内容 中各个字段与其内容旋转在HTML HEADER内一起传送到action属性所批的URL地址。用户是看不到这一过程的
  6. 在页面重新刷新载入时,会有提示框询问“是否重新发送请求”

幂等

幂等的概念

如果一个操作没有副作用,或者多次操作对资源产生的副作用相同,我们就说这个操作是幂等的

区别

get方法用户获取资源,没有副作用,所以是幂等的;

post用于创建资源,是有副作用的,且副作用不同,所以post不是幂等的。(两次相同的POST请求会在服务器端创建两份资源,它们具有不同的URI)

目录
相关文章
|
16天前
|
XML 缓存 安全
PUT 请求和 POST 请求有什么区别?
【10月更文挑战第25天】PUT请求和POST请求在HTTP协议中有着不同的功能和应用场景,开发者需要根据具体的业务需求和资源操作的性质来选择合适的请求方法,以确保客户端与服务器之间的交互准确、安全且符合预期。
|
6月前
|
Web App开发 缓存 网络协议
get和post的区别!
get和post的区别!
|
6月前
|
缓存 安全 数据安全/隐私保护
get 跟 post 有什么区别?
get 跟 post 有什么区别?
80 0
get和post的区别
`GET` 和 `POST` 是 HTTP 请求方法,常用于客户端(如浏览器)与服务器之间的通信。
|
6月前
|
缓存 安全 数据安全/隐私保护
GET和POST有什么区别
GET和POST有什么区别
|
网络协议 安全 数据安全/隐私保护
GET与POST的区别
GET与POST的区别
142 0
|
Web App开发 网络协议 安全
GET和POST两种基本请求方法的区别
GET和POST两种基本请求方法的区别
|
缓存 安全 前端开发
GET和POST有什么区别?
GET和POST有什么区别?
GET和POST有什么区别?
|
网络协议 安全
GET 和 POST 的区别
GET 和 POST 的区别
138 0
NSMutableURLRequest实现Post访问
NSMutableURLRequest实现Post访问
88 0