HTTP提交方式之PUT详细介绍及post和put区别的区别

HTTP提交方式之PUT详细介绍及POST和PUT的区别_百度知道
HTTP提交方式之PUT详细介绍及POST和PUT的区别
提问者采纳
POST是用来提交数据的。提交的数据放在HTTP请求的正文里,目的在于提交数据并用于服务器端的存储,而不允许用户过多的更改相应数据(主要是相对于在url 修改要麻烦很多)。PUT操作是幂等的。所谓幂等是指不管进行多少次操作,结果都一样。比如我用PUT修改一篇文章,然后在做同样的操作,每次操作后的结果并没有不同POST操作既不是安全的,也不是幂等的,比如常见的POST重复加载问题:当我们多次发出同样的POST请求后,其结果是创建出了若干的资源。  安全和幂等的意义在于:当操作没有达到预期的目标时,我们可以不停的重试,而不会对资源产生副作用。从这个意义上说,POST操作往往是有害的,但很多时候我们还是不得不使用它。  还有一点需要注意的就是,创建操作可以使用POST,也可以使用PUT,区别在于POST 是作用在一个集合资源之上的(/articles),而PUT操作是作用在一个具体资源之上的(/articles/123),再通俗点说,如果URL可以在客户端确定,那么就使用PUT,如果是在服务端确定,那么就使用POST,比如说很多资源使用数据库自增主键作为标识信息,而创建的资源的标识信息到底是什么只能由服务端提供,这个时候就必须使用POST。
来自团队:
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁POST&/sn/index.php&HTTP/1.1Accept:&*/*Accept-Language:&zh-cnhost:&localhostContent-Type:&application/x-www-form-urlencodedContent-Length:&12Connection:closesn=123&n=asa在http头后边有一空行,空行后边接着发送post数据,长度通过Content-Length: 12指出,此post数据中包含两项sn=123n=asa其中:Content-Type: application/x-www-form-urlencoded 指定POST数据的编码类型Content-Length: 12 POST数据的长度GET:GET报问头如下:GET&/sn/index.php?sn=123&n=asa&HTTP/1.1Accept:&*/*Accept-Language:&zh-cnhost:&localhostContent-Type:&application/x-www-form-urlencodedContent-Length:&12Connection:close示例代码:&1&void&MEF_Set_Http_Header(MEF_Http_Action_t&method,&S8&*&action,&S8&*&server,&S8&*&msg_body,&S8&*&head,&U8&connect_type)&&&2&{&3&&&&&&&&&S8&tmp_buf[20];&4&&&&&&&&&const&S8&*&http_methods_table[MEF_TOTAL_HTTP_ACTIONS]&=&{"GET",&"POST",&"HEAD",&"PUT",&"OPTIONS",&"DELETE",&"TRACE",&"CONNECT"};&5&&6&&&&&&&&&sprintf(head,"%s&",&http_methods_table[method]);&7&&&&&&&&&if(action)&8&&&&&&&&&{&9&&&&&&&&&&&&&&&&&strcat(head,&action);&&10&&&&&&&&&}11&12&&&&&&&&&strcat(head,"&HTTP/1.1");&&13&&&&&&&&&strcat(head,"/r/n");&&14&15&&&&&&&&&strcat(head,"Accept:*/*");&&16&&&&&&&&&strcat(head,"/r/n");&&17&18&&&&&&&&&strcat(head,"User-Agent:&Mozilla/4.0&(&MSIE&5.01;&Windows&NT&5.0)");&&19&&&&&&&&&strcat(head,"/r/n");&&20&21&&&&&&&&&strcat(head,"Host:&");&&22&&&&&&&&&strcat(head,server);&&&23&&&&&&&&&strcat(head,"/r/n");&&24&25&&&&&&&&&if(method&==&MEF_HTTP_POST)26&&&&&&&&&{27&&&&&&&&&&&&&&&&&strcat(head,"Content-Type:&application/x-www-form-urlencoded");&&28&&&&&&&&&&&&&&&&&strcat(head,"/r/n");&&29&&&&&&&&&}30&31&&&&&&&&&if(method&==&MEF_HTTP_POST)32&&&&&&&&&{33&&&&&&&&&&&&&&&&&strcat(head,&"Content-Length:&");34&&&&&&&&&&&&&&&&&sprintf(tmp_buf,&"%d",&strlen(msg_body));35&&&&&&&&&&&&&&&&&strcat(head,&tmp_buf);36&&&&&&&&&&&&&&&&&strcat(head,"/r/n");&&37&&&&&&&&&}38&&&&&&&&&if(connect_type&==&1)39&&&&&&&&&&&&&&&&&strcat(head,"Connection:&Keep-Alive");40&&&&&&&&&else41&&&&&&&&&&&&&&&&&strcat(head,"Connection:&close");42&&&&&&&&&&&&&&&&&43&&&&&&&&&strcat(head,"/r/n");&&44&&&&&&&&&strcat(head,"/r/n");&&45&&&&&&&&&46&&&&&&&&&if(method&==&MEF_HTTP_POST)47&&&&&&&&&{48&&&&&&&&&&&&&&&&&if(msg_body)49&&&&&&&&&&&&&&&&&{50&&&&&&&&&&&&&&&&&&&&&&&&&strcat(head,msg_body);&&51&&&&&&&&&&&&&&&&&}52&&&&&&&&&}53&}&转自:
写的非常好,呵呵,意犹未尽啊,如果再加一部分http响应报文的相关内容就绝对棒了!谢谢!&&&&网页编辑器--HTML5中文学习网
您的位置: &>&&>&
今天在测试Email Ticket的时候发现在进行Mark as Read/Unread操作时,请求是通过GET方式进行的。URL中列出了所有参与该操作的Ticket Id。于是,我想起GET请求是有最大长度限制的。遂输入超长一串Ticket Id进行请求,结果页
这里记录的主要是一张图,设计者是Adit Gupta。图中显示编程领域的先驱,以及各种编程语言的历史。很具有吸引力。
============================================================================
RPC与RMI的区别
============================================================================
RPC:(Remote Procedure Call)
对于动态语言与静态语言的区分,套用一句流行的话就是:Static typing when possible, dynamic typing when needed。“动”或“静”,强调的是实施类型的时间,编译里就要确定类型的是静态类型,比如C/C++/JAVA/C#,运行时才实施
过去这一年的时间里,我买了不少书,查了很多资料,可以算是认真的学习了几种主流的脚本语言,因为我一直想搞一个好用的自动化工具,来方便我们的系统维护。虽然这个愿望还没有达成,但是在这个过程中,还是学到了很多东西。今天
一、定义(1)如果一个问题的规模是n,解这一问题的某一算法所需要的时间为T(n),它是n的某一函数 T(n)称为这一算法的“时间复杂性”。我们常用大O表示法表示时间复杂性,称之为大O记法。
(2)一个问题本身也有它的复杂性,如果某个
一、 十进制与二进制之间的转换 (1) 十进制转换为二进制,分为整数部分和小数部分① 整数部分方法:除2取余,逆序排列,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,
简单点说:阻塞就是干不完不准回来,一直处于等待中,直到事情处理完成才返回;
非阻塞就是你先干,我先看看有其他事没有,一发现事情被卡住,马上报告领导。我们拿最常用的send和recv两个函数来说吧...
比如你调用send函数发送
网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。Socket的英文原义是&孔&或&插座&。作为BSD UNIX的进程通信机制,取后一种意思。通常也称作&套接字&,用于描述IP地址和端口,是一个通
随着拥有多个硬线程CPU(超线程、双核)的普及,多线程和异步操作等并发程序设计方法也受到了更多的关注和讨论。本文主要是想与园中各位高手一同探讨一下如何使用并发来最大化程序的性能。  多线程和异步操作的异同  
Hello,World,几乎是程序猿学习各种语言的第一个程序,心血来潮,有空拿主流开发语言如何实现,汇总并整理了下.包括大致快速了解下这门语言,开发,编译,环境搭建,运行,简单语言等。其实很多语言是由关联的,在当下,只掌握一门语言是不
代码中到处都需要命名。作为程序员,我们得给类命名,给变量命名,给函数命名,给参数命名,给命名空间命名,等等等等。下面有20条小贴士能帮助你提高你的命名能力。1.使用能够表达意图的名字名字得能告诉我们它要做什么,为什么存
从头讲讲编码的故事。那么就让我们找个草堆坐下,先抽口烟,看看夜晚天空上的银河,然后想一想要从哪里开始讲起。嗯,也许这样开始比较好……很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世
301跳转通常用在网站换域名和为了保持链接统一性所用的。比如你原来的域名现在换成,用了301跳转后,访问/about.html就会自动变成/about.html。下面摘抄一下设置301的代码吧,方便一
关于如题这几个概念,大部分人应该比较熟悉,但是我昏了好久,所以写下来加深印象。1. 动态语言又叫动态编程语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如众所周知的E
1) chocolatapp
Chocolat是最新出现的一款强大的Mac系统文本编辑器,兼具原生的Cocoa及强大的文本编辑功能。Chocolat支持很多种编程语言的关键字高亮显示、窗口分割、标签页、色彩主题等功能。界面和MacVim非常相似。
1.综述又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来节约存储空间
简单地一句话总结:
1.假如你想帮他尽快找个活儿,赚到钱,推荐PHP。
2.假如你想让他成为一个高效工程师,推荐 Python。
3.假如你想让他爱上他的工作,推荐 Ruby。语言的选择:编程语言非常重要,不要认为他们都图灵等价,用起来
奥地利符号计算研究所(Research Institute for Symbolic Computation,简称RISC)的Christoph Koutschan博士在自己的页面上发布了一篇文章,提到他做的一个调查,参与者大多数是计算机科学家,他请这些科学家投票选出最重要的算
本文为多篇“HTTP请求头相关文章”及《HTTP权威指南》一书的阅读后个人汇总整理版,以便于理解。  通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。客户端向服务器发送一个请求,请求头包含请求
1. 懂得分享。尽可能使用开源,并且当你有能力的时候,要对其有所贡献。聚全社会之智慧,胜过某些“大”公司之短视。2. 公平竞争。尝试其他技术、框架、方法和观点。不要总以为只有你的选择才是可行的。别的选择也有可能比
从头讲讲编码的故事。那么就让我们找个草堆坐下,先抽口烟,看看夜晚天空上的银河,然后想一想要从哪里开始讲起。嗯,也许这样开始比较好……很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世
如果你是一个生活在2003年的程序员,却不了解字符、字符集、编码和Unicode这些基础知识。那你可要小心了,要是被我抓到你,我会让你在潜水艇里剥六个月洋葱来惩罚你。这个邪恶的恐吓是Joel Spolsky在十年前首次发出的。不
Http定义了与 服务器的交互方法,其中除了一般我们用的最多的GET,POST 其实还有PUT和DELETE
根据RFC2616标准(现行的HTTP/1.1)其实还有OPTIONS,GET,HEAD,POST,PUT,DELETE,TRACE,CONNECT
简单地结束一下吧。
在执行iisapp.vbs时,可能会提示如下错误:Windows Script Component - file://C:WINDOWSsystem32iisschlp.wsc
[88,25] 属性值无效 : progid解决方法:
注册命令:在运行里面执行一下 regsvr32 wshom.ocx即可。
&&&1&&&&&&&&&&&&
友情链接:联系人:QQ

我要回帖

更多关于 put on和wear的区别 的文章

 

随机推荐