Http 面试
题目
- http常见状态码?
- http常见header有哪些
- 什么是Restful API
- 描述http缓存机制
http状态码
状态码分类:
- 1xx服务器收到请求
- 2xx请求成功 200
- 3xx重定向 302
- 4xx 客户端错误 404 (客户端请求不存在的地址)
- 5xx 服务器错误 500
常见状态码:
200成功,
301 永久重定向(浏览器自动处理,以后直接访问转的地址),
302 临时重定向(浏览器自动处理.仍然访问)
304 资源未被修改(请求过,用缓存就可以)
404 资源没找到
403 没有权限
500 服务器错误
504 网管超时
协议和规范
http method
get 获取数据
post 新建
patch/put 更新数据
delete删除数据
传统api把url做功能
restful 把url做成唯一资源 => 资源标识
- 尽量不用url参数
- 用method表示类型
http headers
常见的Request Headers
-
Accept 浏览器接受数据格式
-
Accept-Encoding 浏览器可接受的压缩算法
-
Accept-Language 语言
-
Connection: keep-alive 一次连接重复使用
-
cookie
-
host 域名
-
User-Agent UA 浏览器信息
-
Content-type 发送数据格式
常见的Response Headers
- Content-type 返回数据格式
- Content-length 返回数据大小 多少字节
- Content-Encoding 返回数据的压缩算法
- set-cookie
- Cache-Control
http缓存
不需要重新获取的资源
哪些资源 js css img
强制缓存
cache-control: max-age=518400 时间 / no-cache / no-store(不让服务端缓存) /private / public
协商缓存
服务端缓存策略
服务器判断客户端资源与服务端资源是否一样
一致返回304, 否则200
刷新操作对缓存影响
地址栏url , 跳转连接 , 前进后退 - 强制缓存有效, 协商缓存有效
F5 , 右键 - 强制缓存失效, 协商缓存有效
alt-f5 - 全部失效
开发环境
git? 15-3
代码办理管理工具
git add . => 把文件git
git checkout xxx => 恢复以前状态
git commit -m ‘xx’ =>提交
git push origin master =>上传
git pull origin master =>拉取
git branch =>分支
git checkout -b xx / git checkout xxx
git merge xxx => 合并
抓包
查看网络请求
windows fiddler
mac Charles