GET&& POST
- 一 : 使用场景
- 二: 请求如何构造的???
- 2.1: GET 请求
- 2.2 : POST 请求
- 三 : GET 和 POST 的区别
- 四 : 常见易错点
一 : 使用场景
网络上的大部分请求 都是 GET , 通过 query string 告诉服务器要搜索什么, 服务器返回搜索结果的完整网页.
POST 使用场景比较少, 常见的有两种场景
- 登录
- 上传文件
二: 请求如何构造的???
2.1: GET 请求
- 在浏览器地址栏,直接输入 url , 此时就是GET 请求
点击收藏夹 ,也是GET 请求 - 网页中 html 中可能有一些 特殊的标签 , img/a/link … 这些标签, 会带有一个url 属性,页面被浏览器加载之后,解析到这些标签,就会根据 URL 构造出新的 http请求
3)表单 : html 中的特殊的标签 form - js
2.2 : POST 请求
- 表单
- js
三 : GET 和 POST 的区别
首先, 盖棺定论 , GET 和 POST ,从本质上讲, 没啥区别
GET 的应用场景, 使用POST 也可以
POST的用于场景, 使用GET 也可以.
但从使用习惯上来说, 还是有区别的.
- GET 从语义上来说, 通常用来"获取数据"
POST 从语义上来说, 通常是用来"提交数据" - GET 传递数据的时候 , 通常使用query string,
POST传递数据的时候,通常使用body - 服务器对应GET 请求的设计, 经常是设计成"幂等"的, 而 POST 请求的设计,则没要求
不幂等: 可以理解成每次打开bilibili ,页面都不一样
这条区别HTTP 协议标准文档中的建议,听不听取都可以. - GET 请求的结果 ,可以被缓存 , 可以被浏览器收藏夹 收藏
POST一般不行
四 : 常见易错点
1) POST 比 GET 更安全??
论据: 就拿登录来说, 提交登录 请求, 如果使用 GET,GET 就会把参数 放到 URL 中 ,URL 就会显示到浏览器的地址栏.
但POST 请求, 也一样不安全, 不是说 ,密码显示到浏览器地址栏就不安全, 放到 body中就安全, 安不安全, 取决于 加密.
如果黑客想要窃取数据, 没有加密 ,无论是 GET 还是 POST 都是不安全的.
2) GET传输的 数据量比较有限 , 比较短, POST 传输的数据量比较长, 没有限制.
HTTP 标准中, 明确说了一句话, 针GET 的 URL 的长度是不做任何限制的,实践中,是可以构造一个很长的URL的.
- ==GET 只能传输文本数据,POST 可以传输文本,也可以传输二进制 ==