HTTP请求的GET与POST 方式的区别

Http 定义了与服务器交互的不同方法,最基本的方法有 4 种,分别是 GET,POST,
PUT,DELETE。URL 全称是资源描述符,我们可以这样认为:一个 URL 地址,它用于
描述一个网络上的资源,而 HTTP 中的 GET,POST,PUT,DELETE 就对应着对这个资
源的查,改,增,删 4 个操作。GET 一般用于获取/查询资源信息,而 POST 一般用于更
新资源信息。
两种请求方式的区别:


1)  GET 请求,请求的数据会附加在 URL 之后,以?分割 URL 和传输数据,多个参数用&

连接。URL 的编码格式采用的是 ASCII 编码,而不是 uniclde,即是说所有的非
ASCII 字符都要编码之后再传输。POST 请求:POST 请求会把请求的数据放置在
HTTP 请求包的包体中。因此,GET 请求的数据会暴露在地址栏中,而 POST 请求则
不会



2)  传输数据的大小:在 HTTP 规范中,没有对 URL 的长度和传输的数据大小进行限

制。但是在实际开发过程中,对于 GET,特定的浏览器和服务器对 URL 的长度有限
制。因此,在使用 GET 请求时,传输数据会受到 URL 长度的限制。对于 POST,由
于不是 URL 传值,理论上是不会受限制的,但是实际上各个服务器会规定对 POST
提交数据大小进行限制,Apache、IIS 都有各自的配置。



3)  安全性 POST 的安全性比 GET 的高。这里的安全是指真正的安全,而不同于上面

GET 提到的安全方法中的安全,上面提到的安全仅仅是不修改服务器的数据。比如,
在进行登录操作,通过 GET 请求,用户名和密码都会暴露再 URL 上,因为登录页面
有可能被浏览器缓存以及其他人查看浏览器的历史记录的原因,此时的用户名和密码
就很容易被他人拿到了。除此之外,GET 请求提交的数据还可能会造成 Cross-site
request frogery 攻击
阅读更多
换一批

没有更多推荐了,返回首页