欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

前端http与get,post请求

程序员文章站 2022-04-15 12:41:03
...

HTTP协议的主要特点

简单快速

灵活

无连接

无状态

通常我们要答出以上四个内容。如果实在记不住,一定要记得后面的两个:无连接、无状态。

我们分别来解释一下。
简单快速

简单:每个资源(比如图片、页面)都通过 url 来定位。这都是固定的,在http协议中,处理起来也比较简单,想访问什么资源,直接输入url即可。
灵活

http协议的头部有一个数据类型,通过http协议,就可以完成不同数据类型的传输。
无连接

连接一次,就会断开,不会继续保持连接。
无状态

客户端和服务器端是两种身份。第一次请求结束后,就断开了,第二次请求时,服务器端并没有记住之前的状态,也就是说,服务器端无法区分客户端是否为同一个人、同一个身份。

有的时候,我们访问网站时,网站能记住我们的账号,这个是通过其他的手段(比如 session)做到的,并不是http协议能做到的。

HTTP方法

包括:

GET:获取资源

POST:传输资源

put:更新资源

DELETE:删除资源

HEAD:获得报文首部

HTTP方法有很多,但是上面这五个方法,要求在面试时全部说出来,不要漏掉。

get 和 post 比较常见。

put 和 delete 在实际应用中用的很少。况且,业务中,一般不删除服务器端的资源。

head 可能偶尔用的到。
**

get 和 post的区别

**

区别有很多,如果记不住,面试时,至少要任意答出其中的三四条。

有一点要强调,get是相对不隐私的,而post是相对隐私的。

我们大概要记住以下几点:

1、浏览器在回退时,get不会重新请求,但是post会重新请求。【重要】

2、get请求会被浏览器主动缓存,而post不会。【重要】

3、get请求的参数,会报保留在浏览器的历史记录里,而post不会。做业务时要注意。为了防止CSRF攻击,很多公司把get统一改成了post。

4、get请求在url中传递的参数有大小限制,基本是2kb,不同的浏览器略有不同。而post没有注意。

5、get的参数是直接暴露在url上的,相对不安全。而post是放在请求体中的。
http状态码

http状态码分类:

常见的http状态码:

部分解释:

206的应用:range指的是请求的范围,客户端只请求某个大文件里的一部分内容。比如说,如果播放视频地址或音频地址的前面一部分,可以用到206。

301:重定向(永久)。

302:重定向(临时)。

304:我这个服务器告诉客户端,你已经有缓存了,不需要从我这里取了。

400和401用的不多。403指的是请求被拒绝。404指的是资源不存在。

这是一位大佬的笔记,大家感兴趣可以去关注他的公众号千古壹号,非常不错

添加链接描述

相关标签: web 前端