get 和 post

前端之家收集整理的这篇文章主要介绍了get 和 post前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
                                            <table class="text"&gt;<tbody><tr class="li1"&gt;

<td class="ln"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

提取一个发送,GET和POST只是发送机制不同。 2       POST的安全性要比GET的安全性高;         因为使用GET,参数会直接暴露在URL上,所以不能用来传递敏感信息。 3       GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),其中%XX中的XX为该符号以16进制表示的ASCII,         ?分割URL和传输数据,参数之间以&相连;    POST把提交的数据则放置在是HTTP包的包体中。 4       根据HTTP规范,GET用于信息获取。换句话说,GET 请求一般不应产生副作用,它是安全的和幂等的,         (幂等:幂等的意味着对同一URL的多个请求应该返回同样的结果,一个数学或计算机学概念,常见于抽象代数中。)         就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改增加数据,不会影响资源的状态;    根据HTTP规范,POST表示可能修改变服务器上的资源的请求。    比如:网站对评论区应该通过POST实现,因为在评论提交后站点的资源已经不同了,或者说资源被修改了。 二 Ajax中GET与POST的区别: 1       对于get方式,服务器端用Request.QueryString获取变量的值,         对于post方式,服务器端用Request.Form获取提交的数据。    但两种方式的参数都可以用Request来获得。 2       GET方式对传输的数据大小有限制,通常不能大于2KB,传送简单数据,效率较高,安全性低,会被缓存;         而POST方式传递的数据量要比GET方式大得多,    但理论上不受限制,实际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。 注意: 1       GET和POST是什么?HTTP协议中的两种发送请求的方法。   2       HTTP是什么?HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。   3       HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP链接。   4       GET和POST能做的事情是一样的。给GET加上request body,给POST带上url参数,技术上是完全行的通的。   5       在万维网世界中,TCP就像汽车,我们用TCP来运输数据,它很可靠,从来不会发生丢件少件的现象。   6       HTTP就像是一个规则,HTTP规定,当执行GET请求的时候,要给汽车贴上GET的标签(设置method为GET)。   7       HTTP只是个行为准则,而TCP才是GET和POST怎么实现的基本!   8       不同的浏览器(发起http请求)和服务器(接受http请求)就是不同的运输公司;         虽然理论上,你可以在车顶上无限的堆货物(url中无限加参数)。但是运输公司可不傻,    装货和卸货也是有很大成本的,他们会限制单次运输量来控制风险,数据量太大对浏览器和服务器都是很大负担。    所以,(大多数)浏览器通常都会限制url长度在2K个字节,而(大多数)服务器最多处理64K大 小的url。超过的部分,恕不处理。     9       如果你用GET服务,在request body偷偷藏了数据,不同服务器的处理方式也是不同的,         有些服务器会帮你卸货,读出数据,有些服务器直接忽略,所以,虽然GET可以带request body,也不能保证一定能被接收到哦。     10      GET和POST本质上就是TCP链接,并无差别。         但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。     11      GET和POST还有一个重大区别,简单的说:         GET产生一个TCP数据包;POST产生两个TCP数据包!    详细的说:         对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);         而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200(返回数据)。   12      因为POST需要两步,时间上消耗的要多一点,看起来GET比POST更有效。因此Yahoo团队有推荐用GET替换POST来优化网站性能。但这是一个坑!跳入需谨慎。为什么?         · GET与POST都有自己的语义,不能随便混用。         · 据研究,在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。         · 并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。     !!!现在的话,并不一定符合了,测试发现Chrome和Firefox都不会让ajax发送2个packet 原文链接:https://www.f2er.com/note/421475.html

猜你在找的程序笔记相关文章