1.HTTP请求,最初有8种方法(动作)
options:HEAD,GET,POST,PUT,DELETE,TRACE,CONNECT
注意⚠️:最常用的只有:GTE和POST
2.GET
1⃣️.含义:从指定的资源获取数据(一种索取)
2⃣️.用GET较为合适的场景:
(1)单纯的获取数据时
(2)请求中不包含敏感数据时
3.POST
1⃣️.含义:向指定资源提交要被处理的数据(一种‘交卷’)
2⃣️.用POST较为合适的场景:
(1)传送相对敏感的数据时
(2)请求的结果中有持续性的副作用,例如:传递的数据要作为数据源写入到数据库时
备注:使用了POST不代表绝对的安全
4.常见的GET请求
1⃣️.浏览器地址栏输入网址时(浏览器请求网页时是GET请求。且不可更改)
2⃣️.可以请求外部资源的HTML标签。举个例子:< img >、< a >、< link >、< script >
3⃣️.发送ajax时明确指出使用了GET请求
4⃣️.form表单提交的时候没有明确指明方式,默认是EGT请求
5.常见的POST请求
1⃣️.发送ajax时候明确指出了使用POST请求
2⃣️.使用第三方发送ajax请求库时,明确指出使用了POST时
3⃣️.form表单提交时,明确指出使用POST方式
6.二者的区别
GET | POST | |
---|---|---|
后退按钮/刷新 | 无害 | 数据会被重新提交 |
书签 | 可收藏 | 不会被收藏 |
缓存 | 能被缓存 | 不能被缓存 |
历史 | 参数保留在历史中 | 不回保存在历史中 |
对数据长度的限制 | 发送时,GET向URL添加数,URL最大2048个字符 | 无限制 |
对数据类型的限制 | 只允许ASCII字符 | 没有限制,也允许二进制 |
安全性 | $安全性较差,因为发送的是URL的一部分,在发送密码或者其他敏感信息的时候,不用GET | 更安全,因为参数不会被保存在历史或者服务器日志 |
可见性 | 数据在URL里对所有人都可见 | 数据不显示在URL中 |
7.HTTP协议:
1⃣️.超文本传输协议(属于应用层)
2⃣️.特点:无状态,现在cookie解决了无状态的问题(之前用cookie解决,现在是cookie和session配合)
3⃣️.作用:规定了服务器和客户端传递信息的规则(统称为报文,分为:请求报文和响应报文)
4⃣️.版本
http1.0:(老版本) 不支持长链接
http1.1:(主流) 优点:支持长链接。缺点:同时发送资源的数量过小(4-6)
http2.0:(最新) 同时发送资源的数量稍微有提升
5⃣️.报文的组成
(1)报文首行
(2)报文头
(3)空行(作为分割)
(4)报文体
推荐《网络是怎样连接的》