HTTP协议请求方法简述及get和post方法区别
在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交。
HTTP 定义了与服务器交互的不同方法,最常用的有4种,Put(增),Delete(删),Post(改),Get(查),即增删改查:
1)Get, 它用于获取信息,注意,他只是获取、查询数据,也就是说它不会修改服务器上的数据,从这点来讲,它是数据安全的,而稍后会提到的Post它是可以修改数据的,所以这也是两者差别之一了。
2) Post,它是可以向服务器发送修改请求,从而修改服务器的,比方说,我们要在论坛上回贴、在博客上评论,这就要用到Post了,当然它也是可以仅仅获取数据的。
3)Delete 删除数据。可以通过Get/Post来实现。
4)Put,增加、放置数据,可以通过Get/Post来实现。
根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的 。
1.所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET请求一般不应产生副作用。就是说,仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。(注意:这里安全的含义仅仅是指是非修改信息。)
根据HTTP规范,POST表示可能修改变服务器上的资源的请求 。继续引用上面的例子:还是新闻以网站为例,读者对新闻发表自己的评论应该通过POST实现,因为在评论提交后站点的资源已经不同了,或者说资源被修改了。
表现形式区别:
HTTP请求:在HTTP请求中,第一行必须是一个请求行(request line),用来说明请求类型、要访问的资源以及使用的HTTP版本。紧接着是一个首部(header)小节,用来说明服务器要使用的附加信息。在首部之后是一个空行,再此之后可以添加任意的其他数据[称之为主体(body)]。
两种提交方式的区别:
(1)GET提交,请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,多个参数用&连接。如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如: %E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。
POST提交:把提交的数据放置在是HTTP包的包体中。上文示例中红色字体标明的就是实际的传输数据
因此,GET提交的数据会在地址栏中显示出来,而POST提交,地址栏不会改变
(2)传输数据的大小:首先声明:HTTP协议没有对传输的数据大小进行限制,HTTP协议规范也没有对URL长度进行限制。
而在实际开发中存在的限制主要有:
GET:特定浏览器和服务器对URL长度有限制,例如IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。
因此对于GET提交时,传输数据就会受到URL长度的限制。
POST:由于不是通过URL传值,理论上数据不受限。但实际各个WEB服务器会规定对post提交数据大小进行限制,Apache、IIS6都有各自的配置。
HTTP协议请求方法简述及get和post方法区别相关推荐
- HTTP协议——请求格式及方法
一.HTTP请求格式 当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息,HTTP请求信息由3部分组成: ① 请求方法 URI 协议/版本 ② 请求头(Request Hea ...
- HTTP协议漫谈 - HTTP协议请求方法
前言 在上一篇文章<HTTP协议漫谈 - HTTP协议历史和报文结构>中介绍了HTTP协议的历史和版本变化,以及HTTP协议报文的总体结构. 按照HTTP/1.1 RFC文档中的定义,HT ...
- HTTP请求过程 常见协议 请求类型 状态码 websocket
HTTP(HyperText Transfer Protocol)超文本传输协议,是一种用于分布式.协作式和超媒体信息系统的应用层协议. HTTP 是一个简单的请求-响应协议,是客户端和服务端之间请求 ...
- netty 游戏服务器框图_基于Netty和WebSocket协议实现Web端自动打印订单服务方法与流程...
本发明涉及电子商务技术领域,尤其涉及一种基于netty和websocket协议实现web端自动打印订单服务方法. 背景技术: 电子商务是以信息网络技术为手段,以商品交换为中心的商务活动:也可理解为在互 ...
- 简述isodata算法的原理_基于UWB技术的室内定位方法简述
1. UWB室内定位概述: UWB室内定位技术与传统通信技术有极大的差异,它不需要使用传统通信体制中的载波,而是通过发送和接收具有纳秒或纳秒级以下的极窄脉冲来传输数据,从而具有GHz量级的带宽.超宽带 ...
- 跨域资源请求(除jsonp以外)的方法
---------------------------------------------------------------------------------------------------- ...
- java web 大并发服务器_计算-服务器最大并发量-http协议请求-以webSphere服务器为例-考虑线程池...
请求的处理流程 广域网上有大量的并发用户同时访问web服务器,web服务器传递请求给应用服务器(web容器),web容器传递请求给ejb容器,然后ejb容器发送数据库连接请求给数据库. 请求的处理流程 ...
- 基于 cz88 纯真IP数据库开发的 IP 解析服务 - 支持 http 协议请求或 rpc 协议请求,也支持第三方包的方式引入直接使用
cz88 基于 cz88 纯真IP数据库开发的 IP 解析服务 - 支持 http 协议请求或 rpc 协议请求,也支持第三方包的方式引入直接使用 Go 语言编写 进程内缓存结果,重复的 ip 查询响 ...
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第37讲:HTTP协议请求(响应)
陈力:传智播客古代 珍宝币 泡泡龙游戏开发第37讲:HTTP协议请求(响应) 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.h ...
最新文章
- boost::mpi::cartesian_topology相关用法的测试程序
- extjs tree下拉列表_使用ztree来代替Extjs的下拉树
- ie下按keydown事件会触发button
- NumPy 数组学习手册·翻译完成
- Web开发面临的挑战主要有哪些?
- 笑谈ArcToolbox (5) 非我族类
- 神经网络全连接层详解
- PHP中的的一个挺好用的函数 array_chunk
- Win11繁体中文字体显示不全如何解决?
- 截图软件与网络的完美结合---Jingproject(Z)
- node 项目打包部署至服务器
- html背景图片循环自动播放,CSS3 背景图循环播放
- Android传感器
- 老树开新花,慧聪尚能饭否?
- 九阴服务器延迟高怎么解决,6月24日部分互通升级服务器延迟开服公告
- matlab绘图——根据方程组绘图和心形图绘制
- 课堂笔记-多元函数微分
- EDM营销进行消费场景布置的案例分享
- matlab解含字母方程,求助关于解含字母参数方程组的问题
- html语言加入图片背景音乐,如何插入背景音乐和背景图片(附HTML语法教程地址)...