GET方法会将所需要的参数添加在URL中,传递给服务器,这些参数是可见的,在浏览器的地址栏可以显示。列如:http://127.0.0.1:8080/home?name=alice
这是一个GET方法的HTTP。?
后是传送的参数是name=alice。如果是多个参数的话中间会用&
分隔,URL中是不允许出现空格以及一些特殊的字符,如果遇到这类字符会将其编译为类似%HH
之类的字符串。因为不同的浏览器对URL的长度有不同的限制。所以GET的所传送的字符串的数量是有限制的。
POST方法会将所需要的参数放在http协议的Body部分传送给服务器。传送是会先传送Head部分,然后传送Body部分。POST传送的参数不会在浏览器的地址栏显示。POST传送的数据理论上是没有大小限制的。
协议规定 POST 提交的数据必须放在消息主体(entity-body)中,但协议并没有规定数据必须使用什么编码方式。实际上,开发者完全可以自己决定消息主体的格式,只要最后发送的 HTTP 请求满足上面的格式就可以。
我在使用POSTMAN给我的服务器发送POST请求虽然发送的是POST请求,但是我把参数添加到了hear部,服务器还是可以正常的解析参数。但是当我的参数的字符数量较大的时候就出现了错误,服务器报错显示hear过大。最后自己我改把参数放到了body部分就可以正常的解析了。这说明类似这种URL地址http://127.0.0.1:8080/home?name=alice
也可以是POST的方式只有hear中method参数是POST就可以了。服务器是通过该参数判断是用的哪个方法的。并不是URL的样式。