1.GET与POST的区别
1.GET用于获取资源,POST用于修改资源
2.GET的数据在URL之后且只支持ASCII字符,数据量较小。POST的数据在request body里面没有限制
4.GET可以被浏览器缓存,有浏览记录,POST不行
关于什么是幂等性:
https://www.cnblogs.com/weidagang2046/archive/2011/06/04/2063696.html
2.HTTP request报文
3.HTTP 响应报文
4.IMS(If-Modified-Since)
浏览器第一次访问服务器的文件时。不会携带If-Modified-Since,因为未有本地缓存。
服务器收到请求,开始处理。响应2000,http头有标签:Last-Modified(date),即服务器本地记录的文件最后修改时间。
浏览器收到响应,缓存到本地。
浏览器第二次请求时,携带If-Modified-Since(date),
服务器比较If-Modified-Since(date),是否与服务器本地记录相同。决定返回状态200还是304.
资源没过期(通过cache-control expire字段标注),直接从缓存里面取得
有Etag,使用If-None-Match
没有Etag 使用If-Modified-Since请求,
5.大多数浏览器都会把301,302,303状态下重定向把POST方法改为GET方法