目录
get是什么
GET是一种HTTP(超文本传输协议)的请求方法。HTTP是一种基于TCP/IP协议的应用层协议,它规定了客户端和服务器之间的通信格式,默认端口是80。
在浏览器中,当你输入一个URL并按下回车,通常是发出了一个GET请求。GET请求通常用于请求或查询某个资源。这个方法会将请求的参数附加在URL之后,以问号(?)分隔,参数之间以&符号分隔,例如:http://example.com/page?param1=value1¶m2=value2。
GET请求的特点包括:
- 安全性较低: 因为提交的数据会显示在URL中,可能会被截取。
- 参数数量有限: 因为浏览器对URL的长度有限制,所以GET请求的参数数量和大小都有限制。
- 可被缓存: GET请求的结果可以被浏览器或网络设备缓存起来。
GET是请求方法中最常用的一种,通常用于获取信息,而非修改信息。例如,当你访问一个网页、图片、文件,或者执行一个查询时,通常都会使用GET请求。
post是什么
POST是HTTP(超文本传输协议)的一种请求方法。在Web开发中,当用户向服务器提交数据(例如:填写并提交网页表单)时,这些数据通常会通过POST请求发送给服务器。
POST请求将需要发送的数据包含在请求的主体(body)中,而不是URL中,这使得POST可以发送大量数据,而且,这些数据可以包含各种类型,如文本、二进制数据、文件等。
POST请求的特点包括:
- 数据量几乎无限制: 因为数据包含在请求主体中,而不像GET请求一样包含在URL中,所以POST请求可以发送大量数据。
- 安全性较高: POST请求的数据不会显示在URL中,也不会被浏览器历史记录保存,比GET请求更适合传输敏感数据。
- 不会被缓存: 默认情况下,POST请求的结果不会被浏览器或网络设备缓存起来。
需要注意的是,虽然POST请求在提交数据时比GET请求更安全、更灵活,但它通常需要消耗更多的服务器资源,因此需要谨慎使用。
在Web开发中,POST请求常用于提交表单、上传文件、以及在RESTful API中创建新的资源。
get和post的区别
GET和POST是两种常见的HTTP请求方法,它们的主要区别如下:
- 数据的提交方式: GET请求的数据会附加在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连。POST方法是把提交的数据放置在是HTTP包的包体中。
- 安全性: POST方法的安全性较GET方法的安全性高。通过GET方法提交的数据,用户名和密码将明文出现在URL上,因为登录页面可能被浏览器缓存,所以存在安全性问题。
- 数据的大小: 具体大小根据不同的浏览器有不同的限制。GET方式提交的数据最多只能是2048字节,因为URL长度限制的原因。而POST方法提交的数据理论上没有大小限制。
- 缓存: GET请求会被浏览器主动缓存下来,留下历史记录,而POST则不会,除非手动设置。
- 数据类型: GET只允许ASCII字符,而POST没有限制,也就是POST支持二进制提交。
- 请求次数: GET产生一个TCP数据包,而POST产生两个TCP数据包。对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200;而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 OK。