1. POST更安全:
不会作为url的一部分,不会被缓存、保存在服务器日志和浏览器记录中
2. POST发送的数据量更大(GET有url长度限制)
长度限制:IE(2083字节) 、 firefox(65536字符)、 chrome(8182字符)、 safari(80000字符)、 opera(90000字符)
3. POST能发送更多的数据类型(各种类型的文件)
GET只能发送ASCII字符
4. POST比GET速度慢:
a. POST请求包含更多的请求头
b. POST接收数据之前会先将请求头发送给服务器确认,然后发送数据
(1)POST过程:
1. 第三次握手,浏览器确认并发送post请求头
2. 服务器返回状态码100后,continue响应
3. 浏览器开始发送数据
4. 服务器返回200 OK响应
(2)GET过程:
1. 第三次握手,浏览器确认并发送请求头和数据
2. 服务器返回200 OK响应
c. GET会进行数据缓存,POST不会
d. POST不能进行管道化传输
(1)串行连接
(2)持久化连接(connection:keep-alive):(HTTP/1.0、1.1)连接不会关闭
(3)管道化持久连接(http/1.1——>把所有请求放到发送队列里,不等响应,一个一个发送请求的同时接收相应的响应)
网友评论