1. http状态码
- 1xx:服务器收到请求,但是没有返回结果。
- 2xx:请求成功。200成功。
- 3xx:重定向。301永久重定向,302临时重定向,304资源未被修改。
- 4xx:客户端错误。404资源未找到,403没有访问权限。
- 5xx:服务端错误。500服务器错误,504网关超时。
2. http methods
2.1 传统的methods
2.2 现在的methods
2.3 Restful API
Restful API是一种新的API设计方法(早已推广使用)。传统API设计是把每个URL当作一个功能。Restful API设计:把每个URL当作一个唯一的资源。
Restful不使用URL参数
传统API设计,用method表示操作类型
Restful API设计,用method表示操作类型
3. http headers
3.1 请求头 Request headers
3.2 响应头 Response headers
3.3 缓存相关的headers
- Cache-Control
- Expires
- Last-Modified
- If-Modified-Since
- Etag
- If-None-Match
4. http缓存
浏览器第一次访问网站时,服务端需要把数据发送给服务器,当浏览器再次访问网站时,服务器就不需要再次发送,浏览器可以从缓存中获取数据。网络请求不稳定,缓存可以减少网络请求的数量,提升加载和渲染的效率。
4.1 强制缓存(Cache-Control)
强制缓存Cache-Control,加在Response headers中,可以加快页面的访问速度。
例如:Cache-Control:max-age=31536000 (单位是秒)
4.2 协商缓存(对比缓存)
协商缓存是服务端的缓存策略,服务端判断资源是否可以直接使用本地缓存中的内容。
服务端判断客户端资源(使用资源标识进行判断),如果请求的资源和服务端一样,就返回304,直接使用本地缓存中的资源;如果请求的资源和服务端资源不一样,就返回200和最新的资源。
资源标识保存在Response Headers中,有两种:
- Last-Modified 资源的最后修改时间
- Etag 资源的唯一标识(一个字符串)
Last-Modified只能精确到秒级,Etag更精确,优先使用Etag。