栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

http 面试题

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

http 面试题

一、http 状态码 1. 状态码分类
  • 1xx 服务器收到请求。
  • 2xx 请求成功,如 200。
  • 3xx 重定向,如 302。
  • 4xx 客户端错误,如 404。
  • 5xx 服务器错误,如 500。
2. 常见状态码
  • 200 成功。
  • 301 永久重定向(配合 location,浏览器自动处理)。
  • 302 临时重定向(配合 location,浏览器自动处理)。
  • 304 资源未被修改。
  • 404 资源未找到。
  • 403 没有权限。
  • 500 服务器错误。
  • 504 网关超时。
二、http methods 1. 传统 methods
  • get 获取服务器的数据。
  • post 向服务器提交数据。
2. 现在 methods
  • get 获取数据
  • post 新建数据
  • patch/put 更新数据
  • delete 删除数据
3. Restful API
  • 传统 API 设计:把每个 url 当作一个功能。
  • Restful API 设计:把每个 url 当作一个唯一的资源。

如何设计成一个资源?

  • 尽量不用 url 参数。

  • 用 method 表示操作类型。

三、http headers 1. 常见的 Request Headers
Header解释
Accept浏览器可接收的数据格式
Accept-Encoding浏览器可接收的压缩算法,如 gzip
Accept-Language浏览器可接收的语言,如 zh-CN
connection:keep-alive一次 TCP 连接重复使用
cookieHTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器
Host指定请求的服务器的域名和端口号
User-Agent(简称 UA )浏览器信息
Content-type发送数据的格式,如 application/json
If-Modified-Since如果请求的部分在指定时间之后被修改则请求成功,未被修改则返回304代码
If-None-Match如果内容未改变返回304代码,参数为服务器先前发送的Etag,与服务器回应的Etag比较判断是否改变
2. 常见的 Responce Headers
Header解释
Content-type返回数据的格式,如 application/json
Content-length返回数据的大小,多少字节
Content-Encoding返回数据的压缩算法,如 gzip
Set-cookie设置Http cookie
Cache-Control控制强制缓存的逻辑
Last-Modefied请求资源的最后修改时间
Etag请求变量的实体标签的当前值
3. 缓存相关的 headers
属于响应头:
Responce Headers说明
Cache-Controlno-cache, no-store, max-age, public, private在HTTP1.1版本之后,控制浏览器是否可以缓存资源、强制缓存校验、缓存时间
Expires资源缓存过期时间在HTTP1.1版本之前,如果与Cache-Control同时设置,则只有Cache-Control的设置生效。
Last-modified请求的资源最近更新时间弱校验, 根据文件修改时间,可能内容未变,不精确
Etag文件指纹(hash码、时间戳等可以标识文件是否更新)强校验,根据文件内容生成精确
属于请求头:
Request Headers说明
If-None-Match缓存响应头中的 ETag 值发送给服务器比对文件是否更新(精确)
If-Modified-Since缓存响应头中的 Last-Modified 值发送给服务器比对文件是否更新(不精确)
四、http 缓存 1. 关于缓存的介绍
  • HTTP文件缓存是基于HTTP协议的浏览器端文件缓存机制。
  • 在文件重复请求的情况下,浏览器可以根据HTTP响应的协议头信息判断是从服务器端请求文件还是从本地读取文件。
  • 哪些资源可以被缓存?---- 静态资源(js css img)
2. http 缓存策略(强制缓存 + 协商缓存)
强制缓存:
  • 强制缓存在缓存数据未失效的情况下(即Cache-Control的max-age没有过期或者Expires的缓存时间没有过期),那么就会直接使用浏览器的缓存数据,不会再向服务器发送任何请求。

cache-control 常用值:
属性值说明
max-age资源缓存的最大时间
no-cache不强制缓存,但有可能协商缓存
no-store

既不强制缓存,又不协商缓存,反正就是不缓存(气完了)

private仅向特定用户返回响应
public可向任意方提供响应缓存
关于 Expires:
  • 同在 Response Headers 中。
  • 同为控制缓存过期。
  • 已被 Cache-Control 代替。
协商缓存(对比缓存):
  • 服务器端缓存策略
  • 服务器判断客户端资源,是否和服务器端资源一样。
  • 一致则返回 304,否则返回 200 和最新资源。

Last-Modified 和 Etag:
  • 会优先使用 Etag。
  • Last-Modified 只能精确到秒级。
  • 如果资源被重复生成,而内容不变,则 Etag 更精确。
3. http 缓存流程图

4. 刷新操作方式,对缓存的影响
实现方式缓存策略
正常操作地址栏输入 url、跳转链接、前进后退等强制缓存有效,协商缓存有效
手动刷新F5、点击刷新按钮、右击菜单刷新强制缓存失效,协商缓存有效
强制刷新Ctrl + F5强制缓存失效,协商缓存失效
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/341589.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号