HTTP基础面试题[状态码 | Methods | Restful API | header]

1. http常见的状态码有哪些?

- 状态码分类
  • 1** 服务端收到请求
  • 2** 请求成功,如 200
  • 3** 重定向,如302
  • 4** 客户端错误,如 404
  • 5** 服务端错误,如 500
- 常见状态码
  • 200 成功
  • 301 永久重定向(浏览器自动处理,每次直接访问location的新地址)
  • 302 临时重定向(浏览器自动处理,每次先访问老地址,再重定位到location的新地址)
  • 304 资源未被修改
  • 404 资源未被找到
  • 403 没有权限
  • 500 服务器错误
  • 504 网关超时

2. http中 Methods的改进

- 传统的 Methods
  • get获取服务端的数据
  • post向服务端提交数据
- 现在的 Methods
  • get获取数据
  • post新建数据
  • patch/put 更新数据
  • delete 删除数据

3. 什么是Restful API?

一种新的API设计方法

- 传统的API设计:
  • 把每个url当做一个功能 **
  • 如:/api/list?pageIndex=2
- Restful API设计:
  • 把每个url当做一个唯一的资源 **
  • 如:/api/list/2

4. http常见的header有哪些?

- 常见的Request Headers

  • 【Accept】 浏览器可接收的数据格式
  • 【Accept-Encoding】 浏览器可接收的压缩算法,如gzip
  • 【Accept-Language】 浏览器可接收的语言,如zh-CN
  • 【Connection:keep-alive】 一次TCP连接重复使用
  • 【cookie】
  • 【Host】 请求的域名
  • 【User-Agent】 (UA) 浏览器信息
  • 【Content-Type】 发送数据的格式(post),如application/json
- 常见的Response Headers
  • 【Content-Type】 返回数据的格式,如application/json
  • 【Content-length】 返回数据的大小,多少字节
  • 【Content-Encoding】 返回数据的压缩算法,如gzip
  • 【Set-Cookie】服务端改cookie

- 缓存相关header

  • 【Cache-Control】 在Response Headers中,控制强制缓存的逻辑
  • 【Expires】 在Response Headers中,设置缓存过期,已被Catch-Control代替
  • 【Last-Modified】 在Response Headers中,标记此文件在服务器端最后被修改的时间,如:Last-Modified : Fri , 12 May 2006 18:53:33 GMT
  • 【If-Modified-Since】 在Request Headers中,询问该时间之后文件是否有被修改过,如:If-Modified-Since : Fri , 12 May 2006 18:53:33 GMT
  • 【Etag】 在Response Headers中,标示URL对象是否改变,如:ETag:"50b1c1d4f775c61:df3"
  • 【If-None-Match】 在Request Headers中,ETag没改变,则返回状态304,然后不返回,如:If-None-Match: W / "50b1c1d4f775c61:df3"

你可能感兴趣的:(HTTP基础面试题[状态码 | Methods | Restful API | header])