GET和POST的区别同时随便讲讲cache

GET和POST

首先!必须要说的是!

GET和POST本质上是没有啥区别的,GET和POST就是一种TCP链接,不过GET产生1个TCP数据包,POST产生两个数据包。

GET是将http header和data一起一次发送出去,服务器响应200。
POST是分两次发送,第一次发送http header,服务器响应100,第二次发送data,服务器响应200 ok。

表现形式上
1)GET参数通过URL传递,而POST是将数据放在了request body里。
2)GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
3)GET是有长度限制的,POST没有
4)GET比POST更加不安全,因为参数是全部显示在URL中的
5)GET产生的URL地址可以被Bookmark,而POST不可以。(通俗的讲在浏览记录里面可以看到GET)
6)对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
(URL 是 HTTP 的一个首部。既然作为一个首部,那么根据约定,一定是 ASCII 字符的。)
7)GET请求会被浏览器主动cache,而POST不会,除非手动设置。
(浏览器缓存又分为强缓存和协商缓存。就是打开一个网页,网页上的一些图片啊之类的东西会被下载到本地的internet临时文件夹,当你再次打开的时候,有可能就会不是去从网上打开网页,而是直接从本地读取。)

我们来随便讲讲cache

浏览器缓存,就是为了减少没必要请求。

HTTP cache分为强缓存和协商缓存

强缓存就是强制使用该缓存,只要缓存的时间没有到期,就不再访问服务器,在本地缓存获取该数据。

协商缓存就是会和服务器先确认数据有没有更新或者更改,没有的话会采用本地服务器,更改了便去请求新的数据

猜你喜欢

转载自blog.csdn.net/d1063270962/article/details/109608670