浅谈HTTP中Get与Post的区别

合集下载

post和get的区别

post和get的区别
HTTP请求:GET与POST方法的区别
HTTP 定义了与服务器交互的不同方法,最基本的方法是 GET 和 POST。事实上 GET 适用于多数请求,而保留 POST 仅用于更新站点。根据 HTTP 规范,GET 用于信息获取,而且应该是 安全的和 幂等的。所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。幂等的意味着对同一 URL 的多个请求应该返回同样的结果。完整的定义并不像看起来那样严格。从根本上讲,其目标是当用户打开一个链接时,她可以确信从自身的角度来看没有改变资源。比如,新闻站点的头版不断更新。虽然第二次请求会返回不同的一批新闻,该操作仍然被认为是安全的和幂等的,因为它总是返回当前的新闻。反之亦然。POST 请求就不那么轻松了。POST 表示可能改变服务器上的资源的请求。仍然以新闻站点为例,读者对文章的注解应该通过 POST 请求实现,因为在注解提交之后站点已经不同了(比方说文章下面出现一条注解);
所有的人都知道如下区别:
1.Post传输数据时,不需要在URL中显示出来,而Get方法要在URL中显示。
2.Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度的限制,只能传递大约1024字节.
3.Post顾名思义,就是为了将数据传送到服务器段,Get就是为了从服务器段取得数据.而Get之所以也能传送数据,只是用来设计告诉服务器,你到底需要什么样的数据.Post的信息作为http请求的内容,而Get是在Http头部传输的。
GET方式提交的数据最多只能有1024字节,而POST则没有此限制。
HTTP请求:GET与POST方法的区别
HTTP 定义了与服务器交互的不同方法,最基本的方法是 GET 和 POST。事实上 GET 适用于多数请求,而保留 POST 仅用于更新站点。根据 HTTP 规范,GET 用于信息获取,而且应该是 安全的和 幂等的。所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。幂等的意味着对同一 URL 的多个请求应该返回同样的结果。完整的定义并不像看起来那样严格。从根本上讲,其目标是当用户打开一个链接时,她可以确信从自身的角度来看没有改变资源。比如,新闻站点的头版不断更新。虽然第二次请求会返回不同的一批新闻,该操作仍然被认为是安全的和幂等的,因为它总是返回当前的新闻。反之亦然。POST 请求就不那么轻松了。POST 表示可能改变服务器上的资源的请求。仍然以新闻站点为例,读者对文章的注解应该通过 POST 请求实现,因为在注解提交之后站点已经不同了(比方说文章下面出现一条注解);

浅谈HTTP中Get与Post的区别

浅谈HTTP中Get与Post的区别

浅谈HTTP中Get与Post的区别Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。

URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。

到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。

浅谈HTTP中Get与Post的区别1.根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。

(1).所谓安全的意味着该操作用于获取信息而非修改信息。

换句话说,GET 请求一般不应产生副作用。

就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。

* 注意:这里安全的含义仅仅是指是非修改信息。

(2).幂等的意味着对同一URL的多个请求应该返回同样的结果。

这里我再解释一下幂等这个概念:看完上述解释后,应该可以理解GET幂等的含义了。

但在实际应用中,以上2条规定并没有这么严格。

引用别人文章的例子:比如,新闻站点的头版不断更新。

虽然第二次请求会返回不同的一批新闻,该操作仍然被认为是安全的和幂等的,因为它总是返回当前的新闻。

从根本上说,如果目标是当用户打开一个链接时,他可以确信从自身的角度来看没有改变资源即可。

2.根据HTTP规范,POST表示可能修改变服务器上的资源的请求。

继续引用上面的例子:还是新闻以网站为例,读者对新闻发表自己的评论应该通过POST实现,因为在评论提交后站点的资源已经不同了,或者说资源被修改了。

上面大概说了一下HTTP规范中GET和POST的一些原理性的问题。

但在实际的做的时候,很多人却没有按照HTTP 规范去做,导致这个问题的原因有很多,比如说:1.很多人贪方便,更新资源时用了GET,因为用POST必须要到FORM(表单),这样会麻烦一点。

get和post有什么区别

get和post有什么区别
GET和POST区别如下:
1,生成方式
get方式有四种:1)直接在URL地址栏中输入URL。2)网页中的超链接。3)form中method为get。4)form中method为空时,默认是get提交。
post只知道有一种:form中method属性为post。
2、数据传送方式
4、传送的数据量
GET方式:数据量长度有限制,一般不超过2kb。因为是参数传递,且在地址栏中,故数据量有限制。
POST方式:适合大规模的数据传送。因为是以实体的方式传送的。
5、安全性
GET方式:安全性差。因为是直接将数据显示在地址栏中,浏览器有缓冲,可记录用户信息。所以安全性低。
表单中的get和post有什么区别?
1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。
2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。
4、Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输大量的数据,所以在上传文件只能使用Post(当然还有一个原因,将在后面的提到)。
5、Get限制Form表单的数据集的值必须为ASCII字符;ห้องสมุดไป่ตู้Post支持整个ISO10646字符集。
6、Get是Form的默认方法。
3、Get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。Post的所有操作对用户来说都是不可见的。

get和post参数传递方式

get和post参数传递方式

get和post参数传递方式“GET和POST参数传递方式”是指通过HTTP协议传递参数的两种常用方式。

在网络开发中,我们经常需要将参数传递给服务器端处理,以便进行相应的操作。

本文将以GET和POST参数传递方式为主题,详细介绍这两种方法的使用场景、优缺点以及具体实现步骤等内容,希望能帮助读者更好地理解和运用这两种传参方式。

一、GET和POST参数传递方式的概念及区别GET和POST是HTTP协议中的两种常用HTTP请求方法,用于从客户端向服务器发送请求。

它们的主要区别在于参数的传递方式以及适用场景。

1. GET方式:通过URL的查询字符串传递参数,参数会附加在URL后面,形如“2. POST方式:通过请求体传递参数,参数不会出现在URL中,而是通过请求头的Content-Type字段指定参数的格式(如application/x-www-form-urlencoded或multipart/form-data)。

POST请求适合传递大量参数以及需要保密性的数据,如表单数据、文件上传等。

二、GET参数传递方式的实现步骤及示例GET参数传递方式相对简单,一般适用于只传递少量参数的场景。

其实现步骤如下:1. 构造URL:需要将参数以键值对的形式添加到URL的查询字符串中。

例如,我们要传递name和age两个参数,可以构造URL:“2. 发送请求:客户端向服务器发送GET请求,将参数附加在URL后面。

服务器端通过解析URL中的查询字符串,获取参数并进行相应的处理。

3. 接收参数:服务器端解析URL,获取参数的值。

具体的实现方式根据使用的编程语言和框架而有所不同。

下面以Python和Flask框架为例,演示GET参数传递方式的实现:pythonfrom flask import Flask, requestapp = Flask(__name__)@app.route('/page', methods=['GET'])def handle_page():name = request.args.get('name')age = request.args.get('age')# 在这里对接收到的参数进行相应的处理return f"Hello, {name}! You are {age} years old."if __name__ == '__main__':app.run()在上述示例中,我们使用Flask框架搭建了一个简单的Web应用。

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

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⽅式,服务器端⽤Request.Form获取提交的数据。

4.get传送的数据量较⼩,不能⼤于2KB。

post传送的数据量较⼤,⼀般被默认为不受限制。

但理论上,IIS4中最⼤量为80KB,IIS5中为100KB。

(这⾥有看到其他⽂章介绍get和post的传送数据⼤⼩跟各个浏览器、操作系统以及服务器的限制有关)5.get安全性⾮常低,post安全性较⾼。

表单提交中get和post⽅式的区别有5点1.get是从服务器上获取数据,post是向服务器传送数据。

2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段⼀⼀对应,在URL中可以看到。

post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTML HEADER内⼀起传送到ACTION属性所指的URL地址。

⽤户看不到这个过程。

3.对于get⽅式,服务器端⽤Request.QueryString获取变量的值,对于post⽅式,服务器端⽤Request.Form获取提交的数据。

4.get传送的数据量较⼩,不能⼤于2KB。

post传送的数据量较⼤,⼀般被默认为不受限制。

但理论上,IIS4中最⼤量为80KB,IIS5中为100KB。

5.get安全性⾮常低,post安全性较⾼。

HTTP请求:get与post⽅法的区别HTTP 定义了与服务器交互的不同⽅法,最基本的⽅法是 get 和 post。

Get和post的区别

Get和post的区别

Get和post的区别基本回答面试回答:GET请求在URL中传送的参数是有长度限制的,而POST没有。

GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

GET参数通过URL传递,POST放在Request body中。

GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

GET请求只能进行url编码,而POST支持多种编码方式。

GET请求会被浏览器主动cache,而POST不会,除非手动设置。

GET产生的URL地址可以被Bookmark,而POST不可以。

GET在浏览器回退时是无害的,而POST会再次提交请求。

详细解说:面试必备:GET和POST 的区别详细解说标准答案我们先看一下w3school标准答案长什么样子面试必备:GET和POST 的区别详细解说从标准上来看,GET 和POST 的区别如下:GET 用于获取信息,是无副作用的,是幂等的,且可缓存POST 用于修改服务器上的数据,有副作用,非幂等,不可缓存面试必备:GET和POST 的区别详细解说GET、POST 请求报文上的区别GET 和POST 只是HTTP 协议中两种请求方式(异曲同工),而HTTP 协议是基于TCP/IP 的应用层协议,无论GET 还是POST,用的都是同一个传输层协议,所以在传输上,没有区别。

报文格式上,不带参数时,最大区别就是第一行方法名不同, 仅仅是报文的几个字符不同而已POST 方法请求报文第一行是这样的POST /url HTTP/1.1 GET 方法请求报文第一行是这样的GET /url HTTP/1.1带参数时报文的区别呢?在约定中,GET 方法的参数应该放在url 中,POST 方法参数应该放在body 中举个例子,如果参数是name=Javanx, age=25。

GET 方法报文是这样的GET /updateInfo?name=Javanx&age=25 HTTP/1.1 Host: localhost (示例)下图是头条获取文章列表请求面试必备:GET和POST 的区别详细解说POST 方法报文是这样的POST /updateInfo HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded name=Javanx&age=25(示例)下图是头条回复评论请求面试必备:GET和POST 的区别详细解说现在我们知道了两种方法本质上是TCP 连接,没有区别。

Get和Post区别-给你标准答案

Get和Post区别-给你标准答案

Get、post的区别——给你标准答案首先,get和post都是HTTP协议的请求方法,本质上没有区别。

HTTP的底层是TCP/IP,所以GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP链接,GET和POST能做的事情是一样一样的,你要给GET加上request body,给POST带上url参数,技术上是完全行的通的。

但为什么我们还要区分get、post呢?在我大万维网世界中,TCP就像汽车,我们用TCP来运输数据,它很可靠,从来不会发生丢件少件的现象。

但是如果路上跑的全是看起来一模一样的汽车,那这个世界看起来是一团混乱,送急件的汽车可能被前面满载货物的汽车拦堵在路上,整个交通系统一定会瘫痪。

为了避免这种情况发生,交通规则HTTP诞生了。

HTTP给汽车运输设定了好几个服务类别,有GET, POST, PUT, DELETE等等,HTTP规定,当执行GET请求的时候,要给汽车贴上GET的标签(设置method为GET),而且要求把传送的数据放在车顶上(url中)以方便记录。

如果是POST请求,就要在车上贴上POST的标签,并把货物放在车厢里。

当然,你也可以在GET 的时候往车厢内偷偷藏点货物,但是这是很不光彩;也可以在POST的时候在车顶上也放一些数据,让人觉得傻乎乎的。

HTTP只是个行为准则,而TCP才是GET和POST怎么实现的基本。

但是,我们只看到HTTP对GET和POST参数的传送渠道(url还是requrest body)提出了要求。

“标准答案”里关于参数大小的限制又是从哪来的呢?在我大万维网世界中,还有另一个重要的角色:运输公司。

不同的浏览器(发起http请求)和服务器(接受http请求)就是不同的运输公司。

虽然理论上,你可以在车顶上无限的堆货物(url中无限加参数)。

但是运输公司可不傻,装货和卸货也是有很大成本的,他们会限制单次运输量来控制风险,数据量太大对浏览器和服务器都是很大负担。

Post和Get的区别(兼谈页面间传值的方式)

Post和Get的区别(兼谈页面间传值的方式)

Post和Get的区别(兼谈页面间传值的方式)从一个页面转向另一个页面的请求方式有两种,Post和Get.如果从原理上来探究他们的区别,涉及到Http传输协议的细节,本文不加探究,只讨论一下表象。

所有的人都知道如下区别:1.Post传输数据时,不需要在URL中显示出来,而Get方法要在URL中显示。

2.Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度的限制,只能传递大约1024字节.3.Post顾名思义,就是为了将数据传送到服务器段,Get就是为了从服务器段取得数据.而Get 之所以也能传送数据,只是用来设计告诉服务器,你到底需要什么样的数据.Post的信息作为http请求的内容,而Get是在Http头部传输的。

我们的form表单的method方法,有两个,post,get.它在页面传值的时候的区别也就是上面提到的三点.先来看一下post方法.这个方法在asp时代应该跟程序员打交道很多的,因为那时候没有现在的V iewState,每个页面要恢复原来的状态,都要将页面Post给自身,然后挨个取值,重新赋值.现在这些琐碎的事情都让ViewState代劳了.所以将页面post给自身的动作,在某种程度上已经被的程序员们忘却了,所以Post也就被大部分的忽视了,这就是技术进步的双刃剑,带来方便的同时,蒙上你的眼睛。

ViewState必须包含在<form runat="server">的窗体下,而只要包含了"runat="server""的标志,就甭想Post到其他页面中去,为什么?老盖说,我的V iewState是保存当前页面状态的,你要转到其他页面,他说,不行,**不认识的参数.如果想Post一个窗体,咋办?有四种方式可供选择.1.在页面上新建一个form,不要加上runat="server"的标志,当然在这个窗体下的控件也就不用想用Viewstate来传值了.当在其他有runat="server"的窗体的中的按钮事件中,手动调用新建form的submit() 函数.传送页面代码如下:<!--html代码--><form id="Form1" method="post" runat="server"><input id="btnTransfer" type="button" onclick="post();" runat="server"><input type="text" runat="server" id="SourceData"></form><form id="forPost" method="post"><input type="text" runat="server" id="SourceData2"></form><!--Script代码--><script language="javascript">function post(){forPost.action="DestinationPage.aspx";forPost.submit();}</script>接收页面string a=Request.Form["SourceData2"].ToString();2.通过Session取值,在一个页面中赋值,在其他页面中共享,这个方式也被广泛应用,个人不倾向于用这种方式,我怕造成Session值的混乱无序,Session用来存一些公共的东西已经累得够呛了。

post和get请求方式的区别

post和get请求方式的区别

从上面描述可以看出,get 是向服务器发索取数据的一种请求;而 post 是向服务器提交数据的一种请求, 要提交的数据位于信息头后面的实体中。 很理论化,但是很标准,method=“get”并不是从服务器上获取数据,get 和 post 只是发送机制不同,并 不是一个取一个发! get 方法会在 IE 地址栏里显示表示你提交时候所带的值;post 方法不会 1、get 是把参数数据队列加到提交表单的 ACTION 属性所指的 URL 中,值和表单内各个字段一一对应,在 URL 中可以看到。post 是通过 HTTPpost 机制,将表单内各个字段与其内容放置在 HTML HEADER 内一起传送 到 ACTION 属性所指的 URL 地址。用户看不到这个过程。 2 、 对于 get 方 式, 服务 器 端用 Request.QueryString 获 取变 量的 值 ,对 于 post 方 式, 服务 器 端用 Request.Form 获取提交的数据。两种方式的参数都可以用 Request 来获得。 3、get 传送的数据量较小,不能大于2KB。post 传送的数据量较大,一般被默认为不受限制。但理论上, IIS4中最大量为80KB,IIS5中为100KB。 4、get 安全性非常低,post 安全性较高。 5、 〈form method="get" action="a.asp?b=b"〉跟〈form method="get"action="a.asp"〉是一样的,也 就是说,action 页面后边带的参数列表会被忽视;而〈formmethod="post" action="a.asp?b=b"〉跟〈form method="post"action="a.asp"〉是不一样的。 另外,get 请求有如下特性:它会将数据添加到 URL 中,通过这种方式传递到服务器,通常利用一个问号? 代表 URL 地址的结尾与数据参数的开端,后面的参数每一个数据参数以“名称=值”的形式出现,参数与参 数之间利用一个连接符&来区分。 post 请求有如下特性:数据是放在 HTTP 主体中的,其组织方式不只一种,有&连接方式,也有分割符方式, 可隐藏参数,传递大批数据,比较方便。 post 地址栏不会出现一大串?bjnghfgreygt 这样的东西 如果是 get,就会出现了 1、get 方法通过 URL 请求来传递用户的数据,将表单内各字段名称与其内容,以成对的字符串连接,置 于 action 属性所指程序的 url 后,如 /test.asp?name=asd&passWord=sad,数据都 会直接显示在 url 上,就像用户点击一个链接一样;post 方法通过 HTTP post 机制,将表单内各字段名 称与其内容放置在 HTML 表头(header)内一起传送给服务器端交由 action 属性能所指的程序处理,该程序 会通过标准输入(stdin)方式,将表单的数据读出并加以处理 2、 get 方式需要使用 Request.QueryString 来取得变量的值;而 post 方式通过 Request.Form 来访问 提交的内容 3、 get 方式传输的数据量非常小,一般限制在 2 KB 左右,但是执行效率却比 post 方法好;而 post 方式传递的数据量相对较大,它是等待服务器来读取数据,不过也有字节限制,这是为了避免对服务器用 大量数据进行恶意攻击,根据微软方面的说法,微软对用 Request.Form() 可接收的最大数据有限制,IIS 4 中为 80 KB 字节,IIS 5 中为 100 KB 字节 建议:除非你肯定你提交的数据可以一次性提交,否则请尽量用 post 方法 4、 get 方式提交数据,会带来安全问题,比如一个登陆页面,通过 get 方式提交数据时,用户名和密码 将出现在 URL 上,如果页面可以被缓存或者其他人可以访问客户这台机器,就可以从历史记录获得该用户 的帐号和密码,所以表单提交建议使用 post 方法;post 方法提交的表单页面常见的问题是,该页面如果 刷新的时候,会弹出一个对话框 1、get 是把参数数据队列加到提交表单的 ACTION 属性所指的 URL 中,值和表单内各个字段一一对应,在 URL 中可以看到。post 是通过 HTTPpost 机制,将表单内各个字段与其内容放置在 HTML HEADER 内一起传送 到 ACTION 属性所指的 URL 地址。用户看不到这个过程。 2、 对于 get 方式,服务器端用 Request.QueryString 获取变量的值,对于 post 方式,服务器端用 Request.Form 获取提交的数据。两种方式的参数都可以用 Request 来获得。

getpost方法

getpost方法

getpost方法GET和POST是HTTP协议中最常见的两种请求方法。

它们都是用来向服务器传送数据。

本文将从以下一些方面阐释什么是Get/Post方法,两者有何区别。

1. Get/Post方法的含义Get和Post都是用来传递数据给服务器,以便服务器做出相应的处理。

Get是在URL中传输数据,数据可以被缓存,存入浏览器历史记录中,Post则是将数据放在HTTP请求主体中传输,数据不会被缓存,也不会存入浏览器历史记录中。

2. Get/Post方法的区别(1)长度限制:Get方法中传输的数据长度有限制,通常不超过2KB。

因此,它不适合传输大量数据。

而Post方法传输的数据没有长度限制。

(2)安全性:Get方法中传输的数据以明文方式传输,在URL中可以看到。

因此,它的安全性较低。

而Post方法中传输的数据以二进制方式传输,不以明文显示在URL中,安全性相对较高。

(3)请求方式:Get方法是一种“无副作用”请求方式,它不会改变服务器的状态,只是获取并显示数据。

Post方法则是一种“有副作用”的请求方式,它会改变服务器的状态,例如在数据库中添加数据。

(4)缓存处理:Get方法可以被缓存,因为它的请求结果是相同的。

所以,使用Get方法会使网页加载速度更快。

Post方法不会被缓存,因为它的请求结果会根据请求参数的不同而改变。

3. 使用建议当需要从服务器获取数据时,使用Get方法;当需要向服务器提交数据时,使用Post方法。

如果需要传输大量数据或保证传输的过程安全,则需要使用Post方法。

Get方法适用于页面跳转,如单纯的浏览网页;而Post方法适用于涉及数据变更、快递或登录等需要保证安全性的交互过程。

Get方法数据传输速度快,但安全性不如Post方法,所以应该避免将敏感数据传输给服务器。

4. 总结Get方法和Post方法都是HTTP协议中最常用的请求方式。

它们之间的不同主要体现在请求的方式、传输数据的大小、安全性以及缓存处理上。

总结httpget和post的区别

总结httpget和post的区别

序号⽅法描述1GET 请求指定的页⾯信息,并返回实体主体。

2HEAD 类似于get 请求,只不过返回的响应中没有具体的内容,⽤于获取报头3POST 向指定资源提交数据进⾏处理请求(例如提交表单或者上传⽂件)。

数据被包含在请求体中。

POST 请求可能会导致新的资源的建⽴和/或已有资源的修改。

4PUT从客户端向服务器传送的数据取代指定的⽂档的内容。

5DELETE 请求服务器删除指定的页⾯。

6CONNECT HTTP/1.1协议中预留给能够将连接改为管道⽅式的代理服务器。

7OPTIONS 允许客户端查看服务器的性能。

8TRACE回显服务器收到的请求,主要⽤于测试或诊断。

总结httpget 和post 的区别这个问题⼏乎⾯试的时候都会问到,是⼀个⽼⽣常谈的话题,然⽽随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学⽽时习之,不亦说乎。

什么是http ?get 、post 常见的区别get 和post 不同点的误区附录常见的http 状态码1.什么是http这⾥只是简单概述⼀下,更多详情可以参见:基于tcp/ip 、⼀种⽹络应⽤层协议、超⽂本传输协议HyperText Transfer Protocol ⼯作⽅式:客户端请求服务端应答的模式快速:⽆状态连接,灵活:可以传输任意对象,对象类型由Content-Type 标记客户端请求request 消息包括以下格式:请求⾏(request line )、请求头部(header )、空⾏、请求数据,如下图 服务端响应response 也由四个部分组成,分别是:状态⾏、消息报头、空⾏、响应正⽂请求⽅法,http 请求可以使⽤多种请求⽅法。

HTTP1.0定义了三种请求⽅法: GET, POST 和 HEAD ⽅法。

HTTP1.1新增了五种请求⽅法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT ⽅法。

2.get 和post 常见的区别http 协议最常见的两种⽅法GET 和POST 请求缓存:GET 会被缓存,⽽post 不会收藏书签:GET 可以,⽽POST 不能保留浏览器历史记录:GET 可以,⽽POST 不能⽤处:get 常⽤于取回数据,post ⽤于提交数据安全性:post ⽐get 安全请求参数:querystring 是url 的⼀部分get 、post 都可以带上。

http中get与post的区别

http中get与post的区别

http定义了与服务器交互的不同方法,最基本的方法有4种,分别是get,post,put,delete。

url全称是资源描述符,我们可以这样认为:一个url地址,它用于描述一个网络上的资源,而http中的get,post,put,delete就对应着对这个资源的查,改,增,删4个操作。

到这里,大家应该有个大概的了解了,get一般用于获取/查询资源信息,而post一般用于更新资源信息。

1 .根据http规范,get用于信息获取,而且应该是安全的和幂等的。

(1).所谓安全的意味着该操作用于获取信息而非修改信息。

换句话说,get 请求一般不应产生副作用。

就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。

* 注意:这里安全的含义仅仅是指是非修改信息。

(2).幂等的意味着对同一url的多个请求应该返回同样的结果。

这里我再解释一下幂等这个概念:幂等(idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。

幂等有一下几种定义:对于单目运算,如果一个运算对于在范围内的所有的一个数多次进行该运算所得的结果和进行一次该运算所得的结果是一样的,那么我们就称该运算是幂等的。

比如绝对值运算就是一个例子,在实数集中,有abs(a)=abs(abs(a))。

对于双目运算,则要求当参与运算的两个值是等值的情况下,如果满足运算结果与参与运算的两个值相等,则称该运算幂等,如求两个数的最大值的函数,有在在实数集中幂等,即max(x,x) = x。

看完上述解释后,应该可以理解get幂等的含义了。

但在实际应用中,以上2条规定并没有这么严格。

引用别人文章的例子:比如,新闻站点的头版不断更新。

虽然第二次请求会返回不同的一批新闻,该操作仍然被认为是安全的和幂等的,因为它总是返回当前的新闻。

从根本上说,如果目标是当用户打开一个链接时,他可以确信从自身的角度来看没有改变资源即可。

post get方法

post get方法

post get方法
在HTTP协议中,GET和POST是两种常见的请求方法。

它们在功能上有所不同,以下是关于GET和POST方法的详细解释:
GET方法:
1.GET是最常见的请求方法,通常用于请求指定的资源。

2.它将请求的参数附加到URL之后,以“?”符号分隔。

3.参数之间用"&"符号分隔。

4.GET请求的数据是可见的,因为它显示在URL中。

因此,GET请求通常用于获取或查询信息,而不是发送敏感或大量数据。

5.由于GET请求的数据在URL中,因此它不适合用于发送敏感信息,因为这些信息可能会被记录在浏览器的历史记录、服务器日志或其他地方。

POST方法:
1.POST请求用于发送数据到服务器,作为请求的一部分。

2.POST请求不会将数据添加到URL中,而是作为请求的一部分发送。

3.POST请求的数据是包含在请求体中的,因此它对于发送敏感或大量数据更为安全和理想。

4.POST请求不会显示在浏览器地址栏,因此更难以被记录或监控。

5.由于POST请求的数据包含在请求体中,因此它可以发送大量或敏感数据,而不会暴露这些数据给其他人或系统。

总之,GET和POST方法的主要区别在于它们如何传递数据。

GET方法将数据添加到URL中,而POST方法将数据作为请求的一部分发送。

GET方法更适合获取信息或查询数据,而POST方法更适合发送数据到服务器。

post和get提交的区别

post和get提交的区别

POST与GET提交的区别。

1、Get是用来从服务器上获得数据,而P ost是用来向服务器上传递数据。

2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;P ost是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。

3、Get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。

另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。

P ost的所有操作对用户来说都是不可见的。

4、Get传输的数据量小,这主要是因为受URL长度限制;而P ost可以传输大量的数据,所以在上传文件只能使用P ost。

5、Get限制Form表单的数据集的值必须为ASCII字符;而P ost支持整个ISO10646字符集。

6、Get是Form的默认方法。

1.P ost传输数据时,不需要在URL中显示出来,而Get方法要在URL中显示。

2.P ost传输的数据量大,可以达到2M,而Get方法由于受到URL长度的限制,只能传递大约1024字节.3.P ost顾名思义,就是为了将数据传送到服务器段,Get就是为了从服务器段取得数据.而Get之所以也能传送数据,只是用来设计告诉服务器,你到底需要什么样的数据.P ost的信息作为http请求的内容,而Get是在Http头部传输的。

get 是通过http传输特点在url上有尾巴长度有限post 是通过socket传输url无尾巴安全无长度限制get是用来取得信息的,post是用来发送信息的GET请求请提交的数据放置在HTTP请求协议头中,而P OST提交的数据则放在实体数据中一般来说,尽量避免使用Get方式提交表单,因为有可能会导致安全问题。

关于http的GET和POST请求

关于http的GET和POST请求

关于GET和POST请求1.相同点:都属于http请求的方法,所以都包含开始行,头域,头域结束符,消息主体2.不同点:a)GET被指定用于客户端从服务器获取资源,POST被指定用于客户端向服务器提交资源b)GET请求的数据内容被追加在请求行的url里,并且大小有限制,规定在1024个字节以内,POST请求的数据被放在请求消息实体里,并且在请求头域里会对消息实体进行属性描述(如提交的数据类型,数据大小,字符集等等),数据大小无限制,但是实际上POST数据传输的大小会被服务器限制,比如Tomcat就默认限制为2Mc)GET请求的响应信息会被用户代理(浏览器)缓存起来,同一样的GET请求,在缓存允许的情况下,用户代理会从缓存里面获取最新的响应缓存来作为当前请求的响应内容,而POST请求的响应内容除非在响应头域里面指定是可缓存的,不然是不会被用户代理缓存d)安全性i.从服务器的角度来看安全性:GET被指定用于获取服务器的资源,不会更改服务器资源的内容,所以对于服务器来说,它是安全的而POST被指定提交数据到服务器,会更改服务器某些资源,所以对于服务器来说,它是不安全的ii.从客户端数据提交的角度来看安全性:GET也会用于数据的提交,为了获取某一url标识范围内的某一资源,会在GET请求里面指定请求的详细操作(如fileType=rmvb),这些详细操作会被显示的追加在url之后,所以,如果需要提交重要敏感的信息到服务器,这种方式是相当不安全的那么POST是否就安全了呢,POST提交的数据信息会被存放在请求的消息主体里面,会用特定的编码格式进行编码,这比起GET来,它的安全性是高了很多,但是,它也是不安全的,因为http协议使用明文字符传递数据,所以,http本身就是一种很不安全的数据传输方式,即使将消息内容进行编码,如果知道编码方式一样是可以解码,那么也就没有绝对的安全了,总之,POST较GET方式,从客户端提交数据角度来看安全性大大高于GET。

get请求和post请求的相同点和不同点及适用场景

get请求和post请求的相同点和不同点及适用场景

一、get请求和post请求的相同点1.1 参数传递方式相同无论是get请求还是post请求,都可以通过URL传递参数,也可以通过请求体传递参数。

1.2 都是HTTP请求方式get请求和post请求都是HTTP协议中定义的两种基本请求方式,在网络通信中都可以使用。

1.3 都可以使用缓存无论是get请求还是post请求,都可以利用浏览器缓存来提高请求的效率。

1.4 都可以使用URL重写无论是get请求还是post请求,都可以利用URL重写来隐藏真实的请求参数或路径。

1.5 都可以使用Session和Cookie无论是get请求还是post请求,都可以使用Session和Cookie来保存用户会话状态。

1.6 都可以传递数据无论是get请求还是post请求,都可以传递各种数据,如文本、图片、文件等。

二、get请求和post请求的不同点2.1 参数传递方式不同get请求通过URL传递参数,参数会显示在URL中,而post请求通过请求体传递参数,参数不会显示在URL中。

2.2 安全性不同由于get请求参数在URL中可见,所以安全性较低,容易被拦截和篡改;而post请求参数不会显示在URL中,安全性较高。

2.3 数据大小限制不同get请求对传递的数据有大小限制,一般在2KB左右;而post请求对传递的数据大小没有限制。

2.4 支持程度不同get请求的支持程度更好,因为它可以直接在浏览器位置区域栏中输入URL来触发请求;而post请求的支持程度较差,因为它需要在表单中提交才能触发请求。

2.5 适用场景不同get请求适用于获取数据的场景,如搜索、浏览等;而post请求适用于提交数据的场景,如登入、注册等。

三、适用场景3.1 get请求的适用场景- 数据获取:get请求适用于获取数据的场景,如搜索、浏览等。

- 无副作用操作:由于get请求不会对服务器端数据进行修改,所以适用于一些无副作用的操作。

3.2 post请求的适用场景- 数据提交:post请求适用于提交数据的场景,如登入、注册等。

post get方法

post get方法

post get方法摘要:1.POST和GET方法的基本概念2.POST和GET方法的优缺点3.POST和GET方法在实际应用中的选择4.总结正文:在Web开发中,POST和GET方法是HTTP请求中最常用的两种方式。

它们各有特点,适用于不同的场景。

本文将对比分析POST和GET方法的优缺点,并给出在实际应用中的选择建议。

一、POST和GET方法的基本概念1.GET方法GET方法是一种HTTP请求方式,它用于从服务器获取数据。

当用户在浏览器中输入URL并按下回车时,浏览器会向服务器发送一个GET请求。

GET 请求的特点是请求的数据量较小,且参数通过URL传递,可以在URL中直接显示。

2.POST方法POST方法也是一种HTTP请求方式,主要用于向服务器提交数据。

与GET方法不同,POST方法将数据放置在HTTP请求体中,而不是通过URL传递。

因此,POST请求的数据量较大,安全性较高。

二、POST和GET方法的优缺点1.GET方法的优点:(1)数据直接在URL中显示,易于查看和调试。

(2)请求速度较快,因为数据量较小。

(3)安全性较高,因为数据直接暴露在URL中,不易被恶意攻击。

缺点:(1)数据量有限制,不适合传输较大数据。

(2)安全性较低,因为URL参数可以被浏览器缓存,可能导致敏感信息泄露。

2.POST方法的优点:(1)数据传输量大,适合提交表单等较大量数据。

(2)安全性较高,数据不在URL中直接显示,减少恶意攻击风险。

(3)可以发送非表单数据,如文件上传。

缺点:(1)数据传输过程中,URL长度受限。

(2)发送数据时,可能会受到浏览器缓存的影响。

三、POST和GET方法在实际应用中的选择1.当需要传输较小的数据,且安全性要求不高时,可以选择GET方法。

例如,登录、查询等操作。

2.当需要传输较大数据,或提交表单等场景时,选择POST方法。

例如,表单提交、文件上传等操作。

3.在安全性要求较高的场景中,优先考虑POST方法。

HTTP请求中get和post的区别是什么

HTTP请求中get和post的区别是什么

HTTP请求中get和post的区别是什么
GET和POST是Http请求中最常⽤的两种请求⽅法
⾸先介绍GET与POST的差异:
(1)GET请求资源数据,POST向服务器传递需要处理的数据
(2)GET传递数据⼤⼩不超过2kb,POST没有限制
(3)GET请求的参数会在Url上暴露显⽰,POST请求参数在Requestbody⾥,所以相对GET来说,POST安全性较⾼ (4)GET 请求的静态资源会被浏览器缓存,POST不会被缓存
(5)GET传递的数据类型是⽂本,POST是⽂本或者⼆进制
(6)GET请求被回退时是⽆害的,POST请求被回退是会被重新再执⾏⼀次
GET和POST的使⽤场景:
(1)在传递⼀些机密信息时必须要使⽤POST
(2)只是查询获取数据时可以⽤GET
(3)POST请求速率会⽐GET慢,因为GET请求产⽣⼀个TCP数据包;POST请求产⽣两个TCP数据包。

get和post请求的区别

get和post请求的区别

get和post请求的区别http请求中get和post的区别⾯试经常被问到了解历史get和post是HTTP与服务器交互的⽅式,说到⽅式,其实总共有四种:put,delete,post,get。

他们的作⽤分别是对服务器资源的增,删,改,查。

所以,get是获取数据,post是修改数据。

但是,现在⼤家都不这么⼲了!只⽤⼀个⽅式就可以做增删查减的操作。

区别分析get把请求的数据放在url上,即HTTP协议头上,其格式为:以?分割URL和传输数据,参数之间以&相连。

数据如果是英⽂字母/数字,原样发送,如果是空格,转换为+,如果是中⽂/其他字符,则直接把字符串⽤BASE64加密,及“%”加上“字符串的16进制ASCII码”。

post把数据放在HTTP的包体内(requrest body)。

get提交的数据最⼤是2k(原则上url长度⽆限制,那么get提交的数据也没有限制咯?限制实际上取决于浏览器,(⼤多数)浏览器通常都会限制url长度在2K个字节,即使(⼤多数)服务器最多处理64K⼤⼩的url。

也没有卵⽤。

)。

post理论上没有限制。

实际上IIS4中最⼤量为80KB,IIS5中为100KB。

GET产⽣⼀个TCP数据包,浏览器会把http header和data⼀并发送出去,服务器响应200(返回数据);POST产⽣两个TCP数据包,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。

GET在浏览器回退时是⽆害的,POST会再次提交请求。

GET产⽣的URL地址可以被Bookmark,⽽POST不可以。

GET请求会被浏览器主动cache,⽽POST不会,除⾮⼿动设置。

GET请求只能进⾏url编码,⽽POST⽀持多种编码⽅式。

GET请求参数会被完整保留在浏览器历史记录⾥,⽽POST中的参数不会被保留。

GET只接受ASCII字符的参数的数据类型,⽽POST没有限制那么,post那么好为什么还⽤get?get效率⾼!。

get和post请求参数

get和post请求参数

get和post请求参数摘要:1.GET和POST请求的基本概念2.GET和POST请求的参数传递方式的区别3.适用场景和优缺点4.安全性考虑5.实际应用建议正文:在Web开发中,GET和POST请求是两种最常用的HTTP请求方法。

它们在数据传输方面有一定的差异,下面我们将详细介绍GET和POST请求的参数传递方式、适用场景、优缺点及安全性考虑。

一、GET和POST请求的基本概念1.GET请求:GET请求是一种HTTP请求方法,用于从服务器获取特定资源。

它将请求参数附加在URL之后,以“?”为分隔符。

多个参数之间用“&”分隔。

GET请求的参数在浏览器地址栏中是可见的。

2.POST请求:POST请求与GET请求相反,它将请求数据包装在HTTP 请求体中。

POST请求通常用于提交表单、上传文件等操作。

POST请求的参数在浏览器地址栏中是不可见的。

二、GET和POST请求的参数传递方式的区别1.数据传递方式:GET请求将参数附加在URL中,而POST请求将参数包装在请求体中。

2.数据长度限制:GET请求对传输数据长度有限制,因为URL的长度受限。

POST请求则无此限制。

3.安全性:由于GET请求的参数在浏览器地址栏中可见,可能导致敏感信息泄露。

而POST请求的参数在地址栏中不可见,相对更安全。

4.缓存:GET请求的参数可以被浏览器缓存,而POST请求的参数不会被缓存。

三、适用场景和优缺点1.GET请求适用于简单、安全性要求不高的数据获取操作,如查询、搜索等。

它的优点是简单易懂、传输速度快,缺点是数据长度受限,可能导致敏感信息泄露。

2.POST请求适用于提交表单、上传文件等操作,具有较强的安全性。

它的优点是数据传输不受长度限制,安全性较高,缺点是传输速度略慢于GET请求。

四、安全性考虑1.对于敏感信息,如密码、银行卡号等,应使用POST请求传输,以减少泄露风险。

2.对于非敏感信息,如查询、搜索等操作,可使用GET请求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

两种最常用的HTTP 方法是:GET 和POST
什么是HTTP?
超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信。

HTTP 的工作方式是客户机与服务器之间的请求-应答协议。

web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。

举例:客户端(浏览器)向服务器提交HTTP 请求;服务器向客户端返回响应。

响应包含关于请求的状态信息以及可能被请求的内容。

两种HTTP 请求方法:GET 和POST
在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和POST。

•GET - 从指定的资源请求数据。

•POST - 向指定的资源提交要被处理的数据
GET 方法
请注意,查询字符串(名称/值对)是在GET 请求的URL 中发送的:
有关GET 请求的其他一些注释:
•GET 请求可被缓存
•GET 请求保留在浏览器历史记录中
•GET 请求可被收藏为书签
•GET 请求不应在处理敏感数据时使用
•GET 请求有长度限制
•GET 请求只应当用于取回数据
POST 方法
请注意,查询字符串(名称/值对)是在POST 请求的HTTP 消息主体中发送的:
有关POST 请求的其他一些注释:
•POST 请求不会被缓存
•POST 请求不会保留在浏览器历史记录中
•POST 不能被收藏为书签
•POST 请求对数据长度没有要求。

相关文档
最新文档