在浏览器中输入网址访问资源都是通过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方法区别相关推荐

  1. HTTP协议——请求格式及方法

    一.HTTP请求格式 当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息,HTTP请求信息由3部分组成: ① 请求方法 URI 协议/版本 ② 请求头(Request Hea ...

  2. HTTP协议漫谈 - HTTP协议请求方法

    前言 在上一篇文章<HTTP协议漫谈 - HTTP协议历史和报文结构>中介绍了HTTP协议的历史和版本变化,以及HTTP协议报文的总体结构. 按照HTTP/1.1 RFC文档中的定义,HT ...

  3. HTTP请求过程 常见协议 请求类型 状态码 websocket

    HTTP(HyperText Transfer Protocol)超文本传输协议,是一种用于分布式.协作式和超媒体信息系统的应用层协议. HTTP 是一个简单的请求-响应协议,是客户端和服务端之间请求 ...

  4. netty 游戏服务器框图_基于Netty和WebSocket协议实现Web端自动打印订单服务方法与流程...

    本发明涉及电子商务技术领域,尤其涉及一种基于netty和websocket协议实现web端自动打印订单服务方法. 背景技术: 电子商务是以信息网络技术为手段,以商品交换为中心的商务活动:也可理解为在互 ...

  5. 简述isodata算法的原理_基于UWB技术的室内定位方法简述

    1. UWB室内定位概述: UWB室内定位技术与传统通信技术有极大的差异,它不需要使用传统通信体制中的载波,而是通过发送和接收具有纳秒或纳秒级以下的极窄脉冲来传输数据,从而具有GHz量级的带宽.超宽带 ...

  6. 跨域资源请求(除jsonp以外)的方法

    ---------------------------------------------------------------------------------------------------- ...

  7. java web 大并发服务器_计算-服务器最大并发量-http协议请求-以webSphere服务器为例-考虑线程池...

    请求的处理流程 广域网上有大量的并发用户同时访问web服务器,web服务器传递请求给应用服务器(web容器),web容器传递请求给ejb容器,然后ejb容器发送数据库连接请求给数据库. 请求的处理流程 ...

  8. 基于 cz88 纯真IP数据库开发的 IP 解析服务 - 支持 http 协议请求或 rpc 协议请求,也支持第三方包的方式引入直接使用

    cz88 基于 cz88 纯真IP数据库开发的 IP 解析服务 - 支持 http 协议请求或 rpc 协议请求,也支持第三方包的方式引入直接使用 Go 语言编写 进程内缓存结果,重复的 ip 查询响 ...

  9. 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第37讲:HTTP协议请求(响应)

    陈力:传智播客古代 珍宝币 泡泡龙游戏开发第37讲:HTTP协议请求(响应) 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.h ...

最新文章

  1. boost::mpi::cartesian_topology相关用法的测试程序
  2. extjs tree下拉列表_使用ztree来代替Extjs的下拉树
  3. ie下按keydown事件会触发button
  4. NumPy 数组学习手册·翻译完成
  5. Web开发面临的挑战主要有哪些?
  6. 笑谈ArcToolbox (5) 非我族类
  7. 神经网络全连接层详解
  8. PHP中的的一个挺好用的函数 array_chunk
  9. Win11繁体中文字体显示不全如何解决?
  10. 截图软件与网络的完美结合---Jingproject(Z)
  11. node 项目打包部署至服务器
  12. html背景图片循环自动播放,CSS3 背景图循环播放
  13. Android传感器
  14. 老树开新花,慧聪尚能饭否?
  15. 九阴服务器延迟高怎么解决,6月24日部分互通升级服务器延迟开服公告
  16. matlab绘图——根据方程组绘图和心形图绘制
  17. 课堂笔记-多元函数微分
  18. EDM营销进行消费场景布置的案例分享
  19. matlab解含字母方程,求助关于解含字母参数方程组的问题
  20. html语言加入图片背景音乐,如何插入背景音乐和背景图片(附HTML语法教程地址)...

热门文章

  1. catf1ag web题目 WriteUp(wp)
  2. C语言学到什么程度可以做项目?
  3. 46个海量免费电子书下载网站
  4. 易语言多线程大话西游2实战视频
  5. 安卓在线更新框架,使用超级方便!!!
  6. 如何搭建邮箱服务器?mail系统架设的两种方法
  7. generator代码自动生成工具(动态生成注释、类注解、方法注解等)适用于swagger等需要配置实体类的场景
  8. 诺基亚3款新机亮相,都是反潮流复古风格,最后一款可以砸核桃
  9. python模块和类的通用转换规则(2),三步转oo
  10. 结构体测验:按时间顺序给出奥运会的获奖情况,根据获奖情况输出当前奥运金牌榜。