http面试题

http状态码

状态码分类

1xx服务器收到请求;2xx请求成功,如200;3xx重定向,如302;4xx客户端错误,如404;5xx服务端错误,如500。

常见状态码

200成功;301永久重定向(老地址不用了,永久更换)(配合location,浏览器自动处理);302临时重定向(只是某次)(配合location,浏览器自动处理);304资源未被修改;404资源未找到;403没有权限;500服务器错误;504网关超时


关于协议和规范 http methods

传统的methods

get获取服务器的数据;post向服务器提交数据。

现在的methoods

get获取数据,post新建数据,patch/put更新数据,delete删除数据。

Restful API

是一种新的API设计方法。传统API设计:把每个url当作一个功能;Restful API设计:把每个url当作一个唯一的资源/id

如何设计成一个资源?尽量不用url参数;用method表示操作类型。

不使用url参数

传统API设计:/api/list?id=100;Restful API设计:/api/list/2

用method表示操作类型(传统API设计;Restful API设计)

post请求:/api/create-blog;/api/blog

patch请求:/api/update-blog?id=100;/api/blog/100

get请求:;/api/get-blog?id=100/api/blog/100

http headers

Request Headers(请求头):Accept浏览器可接受的数据格式;Accept -Encoding浏览器可接收的压缩算法,如gzip;Accept-Language浏览器可接收的语言,如zh-CN;Connection:keep-alive一次TCP连接(和服务端的连接)重复使用;cookie(同域每次请求服务器的时候都会把cookie带上);Host(请求的域名);User-Agent(简称UA)浏览器信息;Content-type发送数据的格式,如application/json;Cache-Control缓存控制

Response Headers(响应头):Content-type返回数据的格式,如application/json;Content-length返回数据的大小,多少字节;Content-Encoding返回数据的压缩算法,如gzip;Set-Cookie设置cookie

缓存相关的headers

自定义header


http缓存

关于缓存

静态资源可以被缓存(js css img)

http缓存-强制缓存

请求服务器后把数据缓存到本地,通过Cache-Control控制在本地的缓存。Cache-Control:在响应头中,可控制强制缓存的逻辑,可以控制缓存的时间,最长为一年。

http缓存-协商缓存(对比缓存)

服务端缓存策略:服务端判断资源能不能用缓存的内容;服务端判断客户端资源,是否和服务端资源一样,一致则返回304,否则返回200和最新的资源,可使用资源标识。

资源标识

在Response Headers中有两种,Last-Modified资源的最后修改时间和Etag资源的唯一标识(一个字符串,类似人的指纹).会优先使用Etag,Last-Modified只能精确到秒级,如果资源被重复生成,而内容不变,则Etag更精确。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值