zoukankan      html  css  js  c++  java
  • POST和GET请求的区别

      HTTP协议定义了与服务器交互的不同方法,最基本的方法有四种,GET,POST,PUT,DELETE。服务的URL地址,用以描述相应的网络资源,而这几种与服务器打交道的方法,实际上就对应了对网络资源的增、删、改、查。

      本篇主要讲述面试过程经常被提问的POST与GET的区别

      一、请求方式

      GET请求:请求的数据会附在URL后面,以?号分隔URL和传输数据,多个参数用&作分隔符,URL的编码格式采用的是ASCII编码,而不是UNICODE编码,如此,所有非ASCII编码的字符都需要经过编码后进行传输。

      POST请求:请求的数据被放置在HTTP请求包的包体中。

      即GET请求的数据会暴露在地址栏中,而POST请求的数据由于在请求体中,故不会直接对用户和游客暴露,如此便涉及到第二点安全性的区别。

      二、安全性

      POST的安全性比GET高。假设在一次登录请求中,通过GET请求,用户名和密码都会暴露在URL上,因为登录页面有浏览器缓存和页面历史记录等原因,此时的用户名和密码就极有可能被恶意用户拿到,故涉及到机密性较高的数据,POST的安全性是GET无法比拟的。

      三、传输数据的大小

      在HTTP规范中,没有对URL的长度和数据传输的大小进行限制。但在实际应用中,特定的浏览器和服务器对URL的长度是有一定限制的。因此使用GET请求,会有URL长度方面的限制。

      对于POST请求,由于不是URL传值,所以不存在URL长度方面的限制,这是其相比GET优势所在,可以传输较大的数据。但在实际应用中,各个服务器都会根据实际情况对POST传输的数据大小进行不同程度的限制。

  • 相关阅读:
    利用django form 模块处理post请求
    linux 下安装JDK
    java常用日期操作方法
    Git常见命令整理
    使用Java实现八种基本排序
    java验证类ValidUtils
    封装一个既能遍历数组又能遍历对象的的forEach函数
    结合canvas做雨滴特效
    前端常用js脚本
    canvas 视频音乐播放器
  • 原文地址:https://www.cnblogs.com/jiyukai/p/6936475.html
Copyright © 2011-2022 走看看