浅谈HTTP中Get与Post的区别
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DE LETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST 一般用于更新资源信息。
从HTTP原理角度看:
1.根据HTTP规范,GET用于获取服务器上的资源,而且应该是安全的和幂等的。(1).所谓安全的意味着该操作用于获取信息而非修改信息。
换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。
* 注意:这里安全的含义仅仅是指是非修改信息。
(2).幂等的意味着对同一URL的多个请求应该返回同样的结果。
这里我再解释一下幂等这个概念:
幂等(idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。
幂等有一下几种定义:
对于单目运算,如果一个运算对于在范围内的所有的一个数多次进行该运算所得的结果和进行一次该运算所得的结果是一样的,那么我们就称该运算是幂等的。比如绝对值运算就是一个例子,在实数集中,有abs(a)=abs(abs(a))。
对于双目运算,则要求当参与运算的两个值是等值的情况下,如果满足运算结果与参与运算的两个值相等,则称该运算幂等,如求两个数的最大值的函数,有在在实数集中幂等,即m ax(x,x) = x。
看完上述解释后,应该可以理解GET幂等的含义了。
但在实际应用中,以上2条规定并没有这么严格。引用别人文章的例子:比如,新闻站点的头版不断更新。虽然第二次请求会返回不同的一批新闻,该操作仍然被认为是安全的和幂等的,因为它总是返回当前的新闻。从根本上说,如果目标是当用户打开一个链接时,他可以确信从自身的角度来看没有改变资源即可。
2.根据HTTP规范,POST表示可能修改服务器上的资源。
继续引用上面的例子:还是新闻以网站为例,读者对新闻发表自己的评论应该通过POST 实现,因为在评论提交后站点的资源已经不同了,或者说资源被修改了。
从表面现象上看:
1.请求参数的传递方式:
GET将表单的数据会附在URL之后,值和表单内各个字段对应。在URL中可以看到。
以?分割URL和传输数据,参数之间以&相连,如:login.action?name=hyddd&password=id ontknow&verify=%E4%BD%A0%E5%A5%BD。
如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。
POST是通过HTTP POST机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
2.提交数据的长度:
GET方式提交的数据最多只能是1024字节; POST理论上没有限制,IIS4中最大为80KB,I IS5中为100KB。
以上这句是我从其他文章转过来的,其实这样说是错误的,不准确的:
(1).首先是“GET方式提交的数据最多只能是1024字节”,因为GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系了。而实际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Nets cape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。
* 注意:这是限制是整个URL长度,而不仅仅是你的参数值数据长度。
(2).理论上讲,POST是没有大小限制的,HTTP协议规范也没有进行大小限制,说“POST数据量存在80K/100K的大小限制”是不准确的,POST数据是没有限制的,起限制作用的是服务器的处理程序的处理能力。
对于ASP程序,Request对象处理每个表单域时存在100K的数据长度限制。但如果使用R equest.BinaryRead则没有这个限制。
由这个延伸出去,对于IIS 6.0,微软出于安全考虑,加大了限制。我们还需要注意:
1).IIS 6.0默认ASP POST数据量最大为200KB,每个表单域限制是100KB。
2).IIS 6.0默认上传文件的最大大小是4MB。
3).IIS 6.0默认最大请求头是16KB。
IIS 6.0之前没有这些限制。
所以上面的80K,100K可能只是默认值而已(注:关于IIS4和IIS5的参数,我还没有确认),但肯定是可以自己设置的。由于每个版本的IIS对这些参数的默认值都不一样,具体请参考相关的IIS配置文档。
3. 服务端获取参数的方式:
在ASP中,服务端获取GET请求参数用Request.QueryString,获取POST请求参数用Requ est.Form。
在JSP中,用request.getParameter(\"XXXX\")来获取,虽然jsp中也有request.getQue ryString()方法,但使用起来比较麻烦,比如:传一个test.jsp?name=hyddd&password=hy ddd,用request.getQueryString()得到的是:name=hyddd&password=hyddd。
在PHP中,可以用$_GET和$_POST分别获取GET和POST中的数据,而$_REQUEST则可以获取GET和POST两种请求中的数据。
* 注意:JSP中使用request和PHP中使用$_REQUEST都会有隐患,这个下次再写个文章总结。
4. 安全性:
POST的安全性要比GET的安全性高,但是Get执行效率却比Post方法好。
比如:通过GET提交数据,用户名和密码将明文出现在URL上,因为(1)登录页面有可能被浏览器缓存,(2)其他人查看浏览器的历史纪录,那么别人就可以拿到你的账号和密码了,除此之外,使用GET提交数据还可能会造成Cross-site request forgery攻击。
* 注意:这里所说的安全性和上面GET提到的“安全”不是同个概念。上面“安全”的含义仅仅是不作数据修改,而这里安全的含义是真正的Security的含义。
5. 在FORM中,Method默认为GET:
在FORM(表单)中,Method默认为"GET"。
一个常见问题
注意到表单中action:getPostServlet/getPost.do?param4=param4
这个action带有一个参数param4,
如果用get方法提交,后台无法接收到这个参数;
如果用post方法提交,后台就可以接收到这个参数。
问题原因的简单解释:
用get方法提交的url显示如下:
http://localhost/mywebapp/getPostServlet/getPost.do?pram1=param1&pram2=param2&pram3=pa ram3&button1=submit
也就是说method为get时action自己后边带的参数列表会被忽视,后台无法接收到这个参数,只能得到表单中的参数;
用post方法提交的url显示如下:
http://localhost/mywebapp/getPostServlet/getPost.do?param4=param4
也就是说post方式提交表单,参数分为两部分:一部分是action中的参数放在地址栏;另一部分是表单中的参数放在请求的头中;所以所有的数据后台全部能获得。
对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。Request从几个集合取数据是有顺序的,从前到后的顺序依次是QueryString,Form,最后是ServerVariables。Request对象按照这样的顺序依次搜索这几个集合中的变量,如果有符合的就中止,后面的就不管了。
HTTP POST GET 本质区别详解 一原理区别 一般在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交 Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删 4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息(个人认为这是GET和POST 的本质区别,也是协议设计者的本意,其它区别都是具体表现形式的差异 )。 根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。 1.所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。 * 注意:这里安全的含义仅仅是指是非修改信息。 2.幂等的意味着对同一URL的多个请求应该返回同样的结果。这里我再解释一下幂等这个概念: 幂等(idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。 幂等有以下几种定义: 对于单目运算,如果一个运算对于在范围内的所有的一个数多次进行该运算所得的结果和进行一次该运算所得的结果是一样的,那么我们就称该运算是幂等的。比如绝对值运算就是一个例子,在实数集中,有abs(a) = abs(abs(a)) 。 对于双目运算,则要求当参与运算的两个值是等值的情况下,如果满足运算结果与参与运算的两个值相等,则称该运算幂等,如求两个数的最大值的函数,有在在实数集中幂等,即max(x,x) = x 。 看完上述解释后,应该可以理解GET幂等的含义了。 但在实际应用中,以上2条规定并没有这么严格。引用别人文章的例子:比如,新闻站点的头版不断更新。虽然第二次请求会返回不同的一批新闻,该操作仍然被认为是安全的和幂等的,因为它总是返回当前的新闻。从根本上说,如果目标是当用户打开一个链接时,他可以确信从自身的角度来看没有改变资源即可。
现场处理措施决定书: 1、现场处理措施决定书,是指安监部门在监督检查中,发现生产经营单位存在安全生产违法行为或者事故隐患的,依法作出现场处理决定而使用的文书。 2、制作说明 (1)使用范围:可以针对当场纠正、责令立即停止作业(施工)、责令立即停止使用、责令立即排除事故隐患、责令从危险区域撤出作业人员、责令暂时停产停业、停止建设、停止施工或者停止使用等多种决定使用。 (2)依据:现场处理措施是为预防、制止或者控制生产安全事故的发生,依法采取的对有关生产经营单位及其人员的财产和行为自由加以暂时性限制,使其保持一定状态的手段。作出现场处理决定,应当有法律法规规定,并在文书中列明所引用的条款。 (3)与其他文书的区别 一是与《责令限期整改指令书》的区别。《责令限期整改指令书》主要适用于责令限期整改、责令限期达到要求这两种情况。 二是与《强制措施决定书》的区别。《强制措施决定书》主要适用于查封、扣押和临时查封有关场所等行政强制措施。 三是责令暂时停产停业、停止建设、停止施工或者停止使用的期限届满或者依生产经营单位申请,安全监管部门应当进行复查,并制作《整改复查意见书》。 3、注意事项 文书要加盖安监部门公章,不得使用内设机构印章。送达由负责人在文书上签名并签署时间即可,其他人签收的,应有相应的职务证明或者同时加盖生产经营单位公章。 强制措施决定书 1、行政强制措施决定书,是行政执法机关为查明事实,保全证据而对当事人作出
强制性措施决定的文书。 本文书仅在依法实施采取查封、扣押、临时查封有关场所时使用。 2、制作说明 (1)存在的问题 该部分应当具体列明违反法律、法规、规章可以采取强制措施的情形。 (2)依据 该部分应当明确法律、法规、规章有关可以采取强制措施的条款,最好明确法律、法规、规章的名称、条、款、项。 (3)强制措施 该部分应当根据存在的问题,即违法的情形、情节以及严重程度,明确强制措施的种类。 3、注意事项 (1)对有根据认为不符合国家标准或行业标准的设施、设备、器材予以查封或扣押时,应当下发《强制措施决定书》。 (2)根据《易制毒化学品管理条例》(国务院令第445号)第三十二条第二款规定,行政主管部门在进行易制毒化学品监督检查时,可以依法查看现场、查阅和复制有关资料、记录有关情况、扣押有关的证据材料和违法物品;必要时,可以临时查封有关场所。 (3)符合《中华人民共和国安全生产法》第五十六条第一款第(四)项及相关法律法规规定的强制措施种类。
近几十年在国内外城市污水处理工程实践中,采用较多的城市污水处理工艺有传统活性污泥法,吸附再生法、分段进水法、AB法、A/O法、A/A/O法、SBR法、氧化沟法、一体化池(UNITANK)等等,而各种工艺中又有一些变化了和改进了新形态。几种不同污水处理工艺技术特点见表2。 以上列举的这些城市污水处理工艺,其核心设施—曝气池都是敞开的,一般在池底装有曝气器或者在池面装有曝气机,设施结构较为简单,便于检修和维护,其中:AB法由于采取了两次生化处理,工艺的单元构成较复杂,产生的污泥也不稳定,需要污泥处置设施对其进行稳定化处理和处置,管理环节多,建设投入比较多(1500~2000元/(m3/d)),污水处理单位成本也高(0.7~1.0元/m3)。但是,由于该工艺是针对高浓度城市污水处理而设计的,去除单位污染物的建设投入和运行消耗并不高,是一种特殊场合宜用的城市污水处理工艺。 传统活性污泥法、分段进水法、吸附再生法属于中等负荷的污水处理工艺,该工艺出水水质稳定且较好,运行管理比较简单,但是由于污泥不稳定,需要增加设施进行稳定化处理,增加了运行管理环节,加大了基建投入(1000~2000元/(m3/d)),但是污泥产生的沼气可用来发电或直接驱动鼓风机,使污水处理总能耗低(0.15~0.20 kWh/m3),运行成本低(0.25元/m3左右),由于其明显的经济性,特别是在大型城市污水处理项目建设中(>20万m3/d),是国内外广泛采用的城市污水处理工艺。 氧化沟、序批池(SBR)、一体化(UNITANK)都是属于低负荷污水处理工艺,出水
水质非常好。由于负荷低、一般不再设置初沉池,而二沉池也往往和曝气池组合为一;由于泥龄长、污泥较为稳定,一般可以不再作稳定化处理而直接处置或者应用,省去了污泥稳定化设施,大大简化了工艺构成,使运行管理非常简单,但是负荷低、泥龄长也使生化部分大大增加,增加了污水处理设施的建设投入,提高了能耗(0.28 kWh/m3左右),提高了运行消耗成本。这一类工艺还有一个特点是负荷变化范围宽,在需要的时候也可以按中等负荷运行,适应城市水污染治理的阶段需要。这一类工艺比较适合规模较小(<20万m3/d),技术力量较薄弱的中小城市的城市污水处理。 2/ 由于抗生素污水在处理上有相当的难度,处理装置投资大,技术比较复杂,运行费用也相当可观,为此,作一小结,期望能起到抛砖引玉之效果。1污水处理工程简介在建本污水处理工程前,在“七五”期间,该厂的6.6kg/a阿霉素工程曾建有一套60m3/d规模的污水处理装置,其处理方法为:臭氧氧化-生物接触氧化法。在实际运行中,装置好氧生化部分已无余量,臭氧氧化解毒处理部分还尚有每天处理能力十几m3污水的余量。由于该厂“八五”项目:500kg/a妥布霉素、10kg/a丝裂霉素、1 000kg/a阿佛菌素工程的相继建设,有关专家和省、地、市环保部门建议:在新厂区应综合规划,几个项目的污水进行集中统一治理。经与厂方反复研究,总结阿霉素工程污水处理的成功经验,决定利用阿霉素工程污水处理站的余量处理设施,再设计一套处理污水量为240m3/d,处理COD Cr进量为 2 500kg/d 的污水处理装置。 根据该厂生产工艺特点和水质情况,对于各股污水进行仔细分析和计算,为了使生化处理系统能顺利运行及降低基建投资,本设计采用如下预处理措施:(1)用臭氧氧化法预处理丝裂霉素污水,使抗生素的环状母体结构断裂。(2)用生物水解工艺预处理混合污水,使钢制厌氧反应器容积减少,以降低基建投资。[1] [2] [3] [4] [下一页] 2污水处理工艺流程丝裂霉素车间污水用泵送至已建的阿霉素污水处理站臭氧氧化塔处理,经处理的污水与妥布霉素等车间的污水一道自流入污水集水池,平均每月 1.2批,每批28t的发酵倒罐液由工艺物料泵送至设在集水池顶上的倒罐液贮存池,经自然沉淀的上清液慢慢加入污水集水池中,沉淀物用泵送到污泥浓缩塔,再经高速离心分离机处理,此泥饼可回收做复合饲料或作农肥,滤液返回到污水集水池,此池中的污水由潜污泵送到污水调节池。由于各车间的污水排放不均匀,所以潜污泵开停只得由集水池中的高低水位来控制(即高水位时开泵,低水位时停泵)。污水调节池容积设有1天之设计水量,以利于水质均化。污水调节池出水自流入本池下面的生物水解反应池,在此池中装有半软性组合填料,在厌氧菌的作用下,能将较复杂的有机物分解为小分子化合物。经生物水解反应池处理的污水,用污水泵均匀地将水送到旋流式浮腾厌氧反应器处理。厌氧反应器出水再自流到菌液分离池、预曝气池、生物接触氧化池及气浮净水器处理。为控制生物接触氧化池的进水浓度,从而保证处理的污水达标排放,本设计特设清下水集水池1座,用泵将清下水送往预曝气池。 为使厌氧反应器工作效率较佳和稳定,本设计在水解反应池的进口处设有蒸汽加温措施,温度自动控制在35±2℃,并还设有温度指示和报警装置。 生化处理的沉淀污泥和气浮净水器的浮渣均经高速离心机处理后运出作农肥。 厌氧处理所产生的沼气,根据有关资料计算,每天约1 025m3,本设计设有200m3气柜1台,经水封罐后,送到锅炉房作辅助燃料之用。3主要处理构筑物和设备设计参数 3.1生物水解反应池 为使池中有较高的厌氧微生物存在,以将进水中颗粒物质和胶体物质迅速截留和吸附,在此池中放置了半软性组合填料。污水停留时间为8h。 3.2旋流式浮腾厌氧反应器
两种最常用的 HTTP 方法是:GET 和 POST
什么是 HTTP?
超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信。 HTTP 的工作方式是客户机与服务器之间的请求-应答协议。 web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。 举例:客户端(浏览器)向服务器提交 HTTP 请求;服务器向客户端返回响应。响应包含 关于请求的状态信息以及可能被请求的内容。
两种 HTTP 请求方法:GET 和 POST
在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。 ? GET - 从指定的资源请求数据。 ? POST - 向指定的资源提交要被处理的数据
GET 方法
请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:
/test/demo_form.asp?name1=value1&name2=value2
有关 GET 请求的其他一些注释:
? ? ? ? ? ?
GET 请求可被缓存 GET 请求保留在浏览器历史记录中 GET 请求可被收藏为书签 GET 请求不应在处理敏感数据时使用 GET 请求有长度限制 GET 请求只应当用于取回数据
POST 方法
请注意,查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的:
POST /test/demo_form.asp HTTP/1.1 Host: https://www.wendangku.net/doc/2b2638280.html, name1=value1&name2=value2
方案违背和方案偏离的定义、区别和处理 方案违背(Protocol Violation)和方案偏离(Protocol Deviation)的差别在于严重程度不同,但是关于PD和PV的定义、记录及通报过程,在不同的试验方案或不同的申办方,要求也不尽相同。 方案偏离:研究者管理下,任何的改变和不遵循临床试验方案设计或流程的,且没有得到IRB批准的行为。只要没有严重影响受试者的权益、安全性和获益,或研究数据的完整性,精确性和可靠性,这种属于轻微的方案偏离。 方案违背:方案违背是偏离IRB批准的方案的一种,它可影响到受试者的权益,安全性和获益,或研究数据的完整性,精确性和可靠性。 方案违背是方案偏离的一种,PV比PD严重,就像SAE和AE一样的关系。 PV一般需要在临床总结报告中报告,而轻微的PD可以不在临床总结报告中报告。 1偏离方案分类 按发生的责任主体可分为:研究者/研究机构不依从的PD,受试者不依从导致的PD,申办者方面不依从的PD; 2常见的方案偏离 ?访视/观察/检查在时间窗外,但不影响受试者按方案继续使用研究药 物,或不影响对主要疗效和关键的次要疗效指标评价的有效性。 ?方案规定观察的数据点或实验室参数缺失而导致数据的指缺失,但不影 响主要疗效或关键的次要疗效或安全性指标结果。如方案中规定收集的 指标没有设计在病例报告表中,某研究机构不具备某实验室指标的检查 条件等。 ?观察/评价不全,但不影响主要或次要关键疗效或安全结果,如在非高 血压的临床试验中,忘记测量血压。 3以下情况不属于方案偏离 ?因为提前中止试验(患者撤销同意,或因其他原因决定中止患者参加试 验),中止后的检查未做。
在https://www.wendangku.net/doc/2b2638280.html, 中,XML Web Service支持三种协议来与用户交流数据。这三种协议分别是: 1.SOAP:Simple Object Access Protocol 2.HTTP-GET 3.HTTP-POST 1.首先我们先来理解一下这三者的大概定义。 在这三种协议中,SOAP是XML Web Service最常用到的连接协议。与HTTP相比,SOAP显的更为复杂,但却拥有更强的接受能力。SOAP是一种以XML为基础的协议,它提供一种将数据打包(Packaging)和编码(Encoding)的方法,以用于网络的数据传输。任意一个用户都可以使用SOAP协议与任何一个XML Web Service进行通信,甚至于说这个XML Web Service不是建立在.NET 平台上的,比如说Java的,我们都可以利用SOAP来进行数据传输。因此可见,SOAP也是Language Independent.(语言独立性) HTTP(Hypertext Transfer Protocol) 已经是众所周知的协议了,它是XML Web Service数据传输的标准,这包括了在使用SOAP传输数据的时候。HTTP将SOAP 消息压缩,然后以它的形式进行网络传输。然而当我们谈及在XML Web Service 下使用HTTP-GET和HTTP-POST的时候,我们实事上在谈有关单独使用HTTP调用XML Web Service中的方法的能力,这里我说的单独使用,指的是不使用SOAP。 在HTTP中,GET 和POST并不是一种协议,它们是可以用来与Web Service交互的几种方法中的其中二种。然而,这二种方法的传送参数和数据的能力使它们变成了一种简单的,非常适合用来调用XML Web Service的工具。 2.HTTP-GET 和HTTP-POST 的比较 这二者最大的区别在于数据是如何与要求的消息捆绑在一起的。 HTTP-GET的处理特征如下: 。将数据添加到URL 。利用一个问号(”?”)代表URL地址的结尾与数据的开端。 。每一个数据的元素以名称/值 (name/value) 的形式出现。 。利用一个分号(“;”)来区分多个数据元素。 HTTP-POST的处理特征如下:
HTTP 请求方式之POST 请求 在HTTP 请求消息中,请求方式有GET 、POST 、HEAD 、OPTIONS 、DELETE 、TRACE 、PUT 和CONNECT 八种。而在以后们最常用的有两种请求方式:POST 请求、GET 请求。这两种请求方式所对应的请求协议内容略有不同, 在上一节的HTTP 请求协议中,我们已经了解了GET 请求方式的请求信息,下面我们来学习Post 请求。 1.POST 请求 我们在浏览器地址栏上直接输入网址访问资源,这种请求方式是GET 请求,超链接请求也属于GET 请求,下面我们要演示的是POST 请求: (1)创建一个web 应用,名称为Example04,并在该应用中的WebRoot 目录下新建一个form.html 文件。详情请见Post 请求案例详解。点击此处 Example04.zip 下载Examplie04。主要 代码如例1-1所示: 例1-1form.html
(2)将Example04发布到Tomcat 中,启动Tomcat 服务器。在浏览器端地址栏上输入http://localhost:8080/Example04/form.html ,并使用HttpWatch 进行抓包,如图1-1所示: 图1-1访问form.html 填写用户名:zhangsan 填写密码:123点击提交点击提交之前,先点击Clear 选项,清理一下HTTP是Web协议集中的重要协议,它是从客户机/服务器模型发展起来的。客户机/服务器是运行一对 相互通信的程序,客户与服务器连接时,首先,向服务器提出请求,服务器根据客户的请求,完成处理 并给出响应。浏览器就是与Web服务器产生连接的客户端程序,它的端口为TCP的80端口,。浏览器 与Web 服务器之间所遵循的协议就是HTTP。 HTTP的早期版本为HTTP/0.9,它适用于各种数据信息的简洁快速协议,但是其远不能满足日益发展各 种应用的需要。但HTTP/0.9作为HTTP协议具有典型的无状态性:每个事务都是独立进行处理的,当 一个事务开始就在客户与服务器之间建立一个连接,当事务结束时就释放这个连接。HTTP/0.9包含Simple-Request&Simple-Responsed的报文结构。但是客户无法使用内容协商,所以服务器也无法 返回实体的媒体类型。 1982年,Tim Berners-Lee提出了HTTP/1.0,在此后的不断丰富和发展中,HTTP/1.0成为最重要 的面向事务的应用层协议。该协议对每一次请求/响应,建立并拆除一次连接。其特点是简单、易于管理,所以它符合了大家的需要,得到了广泛的应用。其缺点是仍会发生下列问题:对用户请求响应慢、网络拥 塞严重、安全性等。 1997年形成的HTTP/1.1,也就是现在普遍使用的协议,在持续连接操作机制中实现流水方式,即客户 端需要对同一服务器发出多个请求时,其实现在多数的网页都是有多部分组成(比如多张图片),可用 流水线方式加快速度,流水机制就是指连续发出多个请求并等到这些请求发送完毕,再等待响应。这样 就大大节省了单独请求对响应的等待时间,使我们得到更快速的浏览。 另外,HTTP/1.1服务器端处理请求时按照收到的顺序进行,这就保证了传输的正确性。当然,服务器端 在发生连接中断时,会自动的重传请求,保证数据的完整性。 HTTP/1.1还提供了身份认证、状态管理和Cache缓存等机制。这里,我想特别提一下关于HTTP/1.1 中的Cache缓存机制对 HTTP/1.0的不足之处的改进,它严格全面,既可以减少时间延迟、又节省了带宽。HTTP/1.1采用了内容协商机制,选择最合适的用户的内容表现形式。 现在,很多地方都有用到的虚拟主机技术在HTTP/1.1中也可以实现。所谓的虚拟主机技术,就是同一 主机地址实际对应多台主机。通俗的讲,当你同时在一个网站申请两个主页时,用协议分析仪可以发现 其实这两个主页对应的是同一个IP地址。这样用多台完全相同的机器形成WWW服务器就可以提高处 理的吞吐量。 传统的解决方案是改造域名服务器使其可以根据一定的算法将同一域名解释成不同的IP地址。分别对应 虚拟主机的每台机器,其缺点是要求每台机器占用完全独立的IP地址,这与IP地址的缺乏是相矛盾的。HTTP/1.1提供的解决方案在HTTP协议自身中加入了指定不同主机的功能,从而多台主机可以共享一个IP地址,既提高了性能又便于管理。 因为HTTP/1.1是Internet现行的标准协议,这里详细介绍其相关语法。 首先,HTTP/1.1格式可写为: 其中请求方法是请求一定的Web页面的程序或用于特定的URL。可选用下列几种: GET:请求指定的页面信息,并返回实体主体。 HEAD:只请求页面的首部。 POST:请求服务器接受所指定的文档作为对所标识的URI的新的从属实体。 PUT:从客户端向服务器传送的数据取代指定的文档的内容。
【XMLHttpRequest】 Ajax-Post() document.getElementById("Confirm").onclick = function() { //debugger; //return ValiTitle() && ValiMatter(); //使用Ajax技术; if (ValiTitle() && ValiMatter()) { //验证之后禁用按钮; this.disabled = true; //创建XMLHttpRequest对象; var xhr = new XMLHttpRequest(); //使用open("post","Append.aspx")方法,采用Post方法传值传递给Append.aspx页面; xhr.open("post", "append.aspx"); //使用post发放传旨的时候在open()方法之后设置setRequsetHeader("Content-Type","application/x-www-form-urlencoded") xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //增加事件侦听onreadystatechange<-当读取状态发生变化的时候; xhr.onreadystatechange = function() { //读取状态为4的时候 if (xhr.readyState == 4) { alert(xhr.responseText); //提交数据之后form中数据清空,按钮可用; document.getElementById("Myform").reset(); document.getElementById("Confirm").disabled = false; } } //结束用send()相应setRequsetHeader的参数; xhr.send("Title=" + encodeURIComponent(document.getElementById("Title").value) + "&Matter=" + encodeURIComponent(document.getElementById("Matter").value)); } return false; } Ajax-Get() document.getElementById("Confirm").onclick = function() { var XHR = new XMLHttpRequest(); XHR.open("get", "From.aspx?ID=" + document.getElementById("ID").value);//默认为true; 异步的意思 XHR.onreadystatechange = function() { if (XHR.readyState == 4) { if (XHR.status == 200) { //alert(XHR.responseText); var str = XHR.responseText; var arr = str.split(','); //document.getElementById().innerHTML=arr[]; //调用函数; dispost(responseText); } } } XHR.send(null); return false; } 【Ajax】 =参考【XMLHttpRequest手册】 JS URL传值
三种POST和GET的提交方式 向服务器提交数据有两种方式,post和get。两者的区别主要有三点,安全性、长度限制、数据结构。其中get请求安全性相比较而言较差,数据长度受浏览器地址栏限制,没有方法体。两种都是较为重要的数据提交方式。现简单介绍一下三种post和get的提交方式。无论是哪种方法实现post和get,get 的访问路径都要携带数据,而post提交是把数据放在方法体中。 普通方法实现get/post提交: 严格遵照Http协议进行数据传输。在安卓开发环境下,由于主线程不能进行网络访问,因此需要在开启一个子线程向服务器提交数据。为了更加直观的观察数据,可以在程序屏幕上显示服务器反馈信息。又由于子线程无法更改UI界面,因此需要引入Hnndler代理器。实现get/post提交基本步骤就是,获取URL路径,根据路径得到Http连接,用HttpURLConnection对象设置相关的http配置信息、提交方式以及获取反馈码。当响应码为200时表示提交成功,可以通过HttpURLConnection以流的形式获取反馈信息。 普通GRT提交方式: public void load(View view){ final String qq = et_qq.getText().toString().trim(); final String pwd = et_pwd.getText().toString().trim(); if (TextUtils.isEmpty(qq) || TextUtils.isEmpty(pwd)) { Toast.makeText(MainActivity.this, "qq号或密码为空", 0).show(); return; } final String path = "http://192.168.1.114:8080/qqload/qqload?qq=" + qq + "&pwd=" + pwd; new Thread() { public void run() { try { URL url = new URL(path); HttpURLConnection conn = (HttpURLConnection) url .openConnection(); conn.setRequestMethod("GET"); conn.setReadTimeout(5000); int code = conn.getResponseCode(); if (code == 200) { InputStream is = conn.getInputStream(); String result = StreamTools.ReadStream(is); Message msg = Message.obtain(); msg.what = SUCCESS; msg.obj = result; handler.sendMessage(msg); } else { Message msg = Message.obtain(); msg.what = ERROR1; handler.sendMessage(msg); }
1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。 2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。 3、Get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。Post的所有操作对用户来说都是不可见的。 4、Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输大量的数据,所以在上传文件只能使用Post(当然还有一个原因,将在后面的提到)。 5、Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。默认是用ISO-8859-1编码 6、Get是Form的默认方法。 以下的比较非常非常使用: 做java的web开发有段日子了,有个问题老是困扰着我,就是乱码问题,基本上是网上查找解决方案(网上资料真的很多),都是一大堆的介绍如何解决此类的乱码问题,但是没几个把问题的来龙去脉说清楚的,有时候看了些文章后,以为自己懂了,但是在开发中乱码问题又像鬼魂一样出来吓人,真是头大了!这篇文章是我长时间和乱码做斗争的一些理解的积累,还希望有更多的朋友给出指点和补充。 form有2中方法把数据提交给服务器,get和post,分别说下吧。 (一)get提交 1.首先说下客户端(浏览器)的form表单用get方法是如何将数据编码后提交给服务器端的吧。 对于get方法来说,都是把数据串联在请求的url后面作为参数,如:http://localhost:8080/servlet?msg=abc (很常见的一个乱码问题就要出现了,如果url中出现中文或其它特殊字符的话,如:http://localhost:8080 /servlet?msg=杭州,服务器端容易得到乱码),url拼接完成后,浏览器会对url进行URL encode,然后发送给服务器,URL encode的过程就是把部分url做为字符,按照某种编码方式(如:utf-8,gbk 等)编码成二进制的字节码,然后每个字节用一个包含3个字符的字符串"%xy" 表示,其中xy为该字节的两位十六进制表示形式。我这里说的可能不清楚,具体介绍可以看下https://www.wendangku.net/doc/2b2638280.html,.URLEncoder类的介绍在这里。了解了URL encode 的过程,我们能看到2个很重要的问题,第一:需要URL encode的字符一般
《现场处理措施和强措的区别》 1、现场处理措施决定书,是指安监部门在监督检查中,发现生产经营单位存在安全生产违法行为或者事故隐患的,依法作出现场处理决定而使用的文书。 2、制作说明 (1)使用范围。可以针对当场纠正、责令立即停止作业(施工)、责令立即停止使用、责令立即排除事故隐患、责令从危险区域撤出作业人员、责令暂时停产停业、停止建设、停止施工或者停止使用等多种决定使用。 (2)依据。现场处理措施是为预防、制止或者控制生产安全事故的发生,依法采取的对有关生产经营单位及其人员的财产和行为自由加以暂时性限制,使其保持一定状态的手段。作出现场处理决定,应当有法律法规规定,并在文书中列明所引用的条款。 (3)与其他文书的区别 一是与《责令限期整改指令书》的区别。《责令限期整改指令书》主要适用于责令限期整改、责令限期达到要求这两种情况。 二是与《强制措施决定书》的区别。《强制措施决定书》主要适用于查封、扣押和临时查封有关场所等行政强制措施。 三是责令暂时停产停业、停止建设、停止施工或者停止使用的期限届满或者依生产经营单位申请,安全监管部门应当进行复查,并制作《整改复查意见书》。 3、注意事项
文书要加盖安监部门公章,不得使用内设机构印章。送达由负责人在文书上签名并签署时间即可,其他人签收的,应有相应的职务证明或者同时加盖生产经营单位公章。 强制措施决定书 1、行政强制措施决定书,是行政执法机关为查明事实,保全证据而对当事人作出强制性措施决定的文书。 本文书仅在依法实施采取查封、扣押、临时查封有关场所时使用。 2、制作说明(1)存在的问题 该部分应当具体列明违反法律、法规、规章可以采取强制措施的情形。(2)依据 该部分应当明确法律、法规、规章有关可以采取强制措施的条款,最好明确法律、法规、规章的名称、条、款、项。(3)强制措施该部分应当根据存在的问题,即违法的情形、情节以及严重程度,明确强制措施的种类。 3、注意事项 (1)对有根据认为不符合国家标准或行业标准的设施、设备、器材予以查封或扣押时,应当下发《强制措施决定书》。 (2)根据《易制毒化学品管理条例》(国务院令第445号)第三十二条第二款规定,行政主管部门在进行易制毒化学品监督检查时,可以依法查看现场、查阅和复制有关资料、记录有关情况、扣押有关的证据材料和违法物品;必要时,可以临时查封有关场所。 (3)符合《中华人民共和国安全生产法》第五十六条第一款第
本节摘要:本节主要分别介绍如何用get方式、post方式向http接口发送数据。 preparation 1. 项目环境如下: myeclipse6.5 、tomcat5.0、system:xp、JDK:开发1.5,编译1.4 为了方便,在原来的web项目UpDown中新建了一个httpcall包,用来保存http接口和调用的客户端。 2.准备需要的jar包 * commons-httpclient-3.0.jar * commons-logging.jar * commons-codec-1.3.jar 3.class&method HttpClient: GetMethod: PostMethod: start 接口写了一个servlet来接收客户端get/post的请求 web.xml需要加入以下配置:
Servlet中的GET和POST之间的区别 get和post这是http协议的两种方法,另外还有head, delete等 这两种方法有本质的区别,get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串。post的参数是通过另外的流传递的,不通过url,所以可以很大,也可以传递二进制数据,如文件的上传。 在servlet开发中,以doGet()和doPost()分别处理get和post方法。 另外还有一个doService(), 它是一个调度方法,当一个请求发生时,首先执行doService(),不管是get还是post。在HttpServlet这个基类中实现了一个角度,首先判断是请求时get还是post,如果是get就调用doGet(), 如果是post就调用doPost()。你也可以直接过载doService()方法,这样你可以不管是get还是post。都会执行这个方法。 --------------------------------------------------------------- 1.通过表单提交到的servlet,看form的method是get还是post 2.通过链接访问的servlet,doGet 3.直接在ie地址栏中键入的servlet地址,doGet 一般只要实现一个doGet,再另外一个doPost里面调用doGet(resq,resp),resq 和resd是doPost的参数. --------------------------------------------------------------- 可以互相调用. doGet() 和doPost()方法,前者处理你表单提交来的method=get的请求,后者处理method=post 的请求 GET和POST的本质区别是什么? 使用GET,form中的数据将编码到url中,而使用POST的form中的数据则在http协议的header中传输。在使用上,当且仅当请求幂等(字面意思是请求任意次返回同样的结果,本质是请求本身不会改变服务器数据和状态)时使用GET,当请求会改变服务器数据或状态时(更新数据,上传文件),应该使用POST。 区别使用GET,POST意义何在? 重复访问使用GET方法请求的页面,浏览器会使用缓存处理后续请求。使用POST方法的form提交时,浏览器基于POST将产生永久改变的假设,将让用户进行提交确认。当编成人员正确的使用GET,POST后,浏览器会给出很好的缓存配合,时响应速度更快。 在form提交阶段的差别 form提交的第一步是创建数据集,并根据ENCTYPE对数据集进行编码。ENCTYPE有两个值:multipart/form-data,application/x-www-form-urlencoded (默认值),前者可同时用于GET,POST,后者只用于POST。然后进行数据传输--对于GET方法,数据集使用content type application/x-www-form-urlencoded编码并附在url后面,在这种模式下,数据严格限制为ASCII码;对于POST,使用content type编码字符集并将其构造成
1、重新定义公文处理相关概念 原《办法》:公文处理是指公文的办理、管理、整理(立卷)、归档等一系列相互关联、衔接有序的工作。 新《条例》:公文处理工作是指公文拟制、办理、管理等一系列相互关联、衔接有序的工作。 2、增加公文种类 原《办法》规定公文种类有13种,新《条例》规定文种为15种,增加了“决议”和“公报”,同时将“会议纪要”改为“纪要”。去掉原《条例》的“指示”、“条例”、“规定”3个文种。 原则上不区分党政机关文种适用对象。只有命令(令)、议案2个文种例外。 3、调整公文格式要素 增加“份号”、“发文机关署名”、“页码”,减少“主题词” 涉密公文应当标注份号 紧急公文应当分别标注“----持急”“加急” 联合行文时发文机关标志可以单独用主办机关名称 公文标题应标发文机关 有特定发文机关标志的普发性公文可以不加盖印章 4、行文规则方面增加一些具体规定 “上行文原则上主送一个上级机关”;“党委、政府的部门向上级主管部门请示、报告重大事项,应当经本级党委、政府同意或者授权”;“下级机关的请示事项,如需以本机关名义向上级机关请示,应当提出倾向性意见后上报,不得原文转报上级机关”;“不得以本机关负责人名义向上级机关报送公文”;“属于党委、政府各自职权范围内的工作,不得联合行文”。 5、公文拟制更加强调程序规范 起草环节,“一切从实际出发,分析问题实事求是,所提政策措施和办法切实可行”;“深入调查研究,充分进行论证,广泛听取意见”;“机关负责人应当主持、指导重要公文起草工作”。 审核环节,“需要发文机关审议的重要公文文稿,审议前由发文机关办公厅(室)进行初审。” 签发环节,“重要公文和上行文由机关主要负责人签发”;“党委、政府的办公厅(室)根据党委、政府授权制发的公文,由受权机关主要负责人签发或者按照有关规定签发。” 6、简化了公文办理的环节 收文办理,将“审核”改为“初审”,将“分办”、“批办”并入“承办”,并增加了“传阅”、“答复”2个环节。 发文办理,由8个环节减少为4个,其中,“起草”、“审核”、“签发”3个环节列入“公文拟制”,“用印”并入“印制”,“分发”改为“核发” 7、公文管理更加注重安全保密
审计处理与审计处罚异同比较 内容摘要:“审计处理”与“审计处罚”是审计机关对审计项目、审计结果所作出的相关联的两种处理形式,二者是两个既有联系又不相同的概念。 关键词:审计处理审计处罚关系 审计机关如何正确理解《审计法》与《行政处罚法》关于“审计处理”和“审计处罚”的关系是审计理论与实践的新课题。也就是说,怎样科学准确地搞好“审计处理”与“审计处罚”,使我们审计机关在实际工作中不能忽视、不能回避而又必须加以解决的重要问题。为此,笔者仅就对“审计处理”与“审计处罚”的关系等方面问题的理解谈几点浅见。 概念比较 “审计处理”与“审计处罚”是审计机关对审计项目、审计结果所作出的相关联的两种处理形式,使审计机关依法行政的一种职权,而这种职权的形式是通过具有法律效用的“审计决定”而进行的。换句话说,“审计处理”与“审计处罚”是审计事项结束后,审计机关根据审定的审计报告,针对存在的违法违纪问题,依法作出的具有强制性的纠正或制裁手段。 《审计法》规定了审计机关具有五个方面职权:监督检查权,采取行政强制措施权,通报或公布审计结果权,审计处理与处罚权以及建议纠正处理权。 由此可以看出,“审计处理”和“审计处罚”都是审计机关的职权。那么,究竟什么是“审计处理”和“审计处罚”呢? 《审计法》第四十四条规定:“对本级各部门和下级政府违反预算行为或其他违反国家规定的财政收支行为,审计机关……在法定职权范围内,依照法律、行政法规的规定作出处理。” 《审计法》第四十五条规定:“对被审单位违反国家规定的财政收支行为,审计机关……在法定职权范围内依照法律、行政法规的规定,责令限期缴纳应当上缴的收入,限期退还违法所得,限期退还被侵占的国有资产,以及采取其他纠正措施,并可依法给予处罚。” 所谓“审计处理”就是审计机关对被审单位违反国家规定的财政收支或财务