GET 和 POST区别

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——>把所有请求放到发送队列里,不等响应,一个一个发送请求的同时接收相应的响应)

你可能感兴趣的:(GET 和 POST区别)