在讨论get方法和post方法的区别时,我们经常会提到两点:
1、get传送的数据量较小,不能大于2KB,而post传送的数据量较大,一般被默认为不受限制;
2、get安全性非常低,但是post安全性较高;
究其根本,为什么呢?就需要提到http报文以及http报文的格式。
首先我们先看一下HTTP请求报文的通用格式:
在《计算机网络——自顶向下方法》一书中提到很关键的两句话:
使用get方法时实体主体为空,而使用post方法时才使用。
HTML表单经常使用GET方法,将输入数据(在表单字段)传送到正确的URL;
这句话结合上面那个HTTP请求报文的通用格式就可以解释为什么“get传送的数据量较小,不能大于2KB,而post传送的数据量较大,一般被默认为不受限制”;
至于安全性的问题,是因为get方法将数据直接附在URL的后面,自然安全系数低,而post方法将数据封装在报文实体中,而报文的传递会有加密等方法来保证其安全性,所以其安全性自然很高。
时间: 2024-12-29 11:21:05