1.get和post请求的区别
-
用途不同:
- GET请求用于从服务器获取数据,它不会改变服务器上的数据。
- POST请求用于向服务器提交数据,通常用于修改服务器上的数据。
-
数据传输方式不同:
- GET请求将数据附加在URL后面,通过问号(?)分隔URL和传输数据,参数之间用&符号连接。这种方式使得GET请求的数据容易被看到,因此不太安全。
- POST请求将数据放在HTTP请求的包体内,即请求体(request body)中,这使得数据不易被外部观察到,相对安全。
-
数据大小限制不同:
- GET请求提交的数据大小通常有限制,最大约为2KB(实际限制取决于浏览器)。
- POST请求理论上没有数据大小限制。
-
TCP数据包发送方式不同:
- GET请求产生一个TCP数据包,浏览器会将HTTP头和数据一起发送给服务器,服务器响应状态码通常是200(返回数据)。
- POST请求产生两个TCP数据包,浏览器先发送HTTP头,服务器响应100 Continue,然后浏览器再发送数据,服务器响应状态码通常是200 OK(返回数据)。
-
缓存机制不同:
- GET请求会被浏览器自动缓存,除非有特定的缓存控