HTTP
1.概述
2.特点
- 支持(客户端/服务端)模式。
- 简单快速,灵活。
- 无状态。
- 无连接。
3.报文
- 请求报文:由请求行,请求头,请求空行,请求体构成。
- 响应报文:由响应行,响应头,响应空行,响应体构成。
4.请求方法
- GET:一般用于获取服务器资源。
- POST:一般用于向指定资源提交数据。
- PUT:用于传输资源。
- DELETE:用于删除资源。
- HEAD:获取报文头部,不返回主体信息。
- OPTIONS:获取服务器传回该资源所支持的方法。
5.状态码
- 200 OK:请求成功。
- 301 Moved Permanerntly:永久重定向。
- 302 Found:临时重定向。
- 304 Not modified:请求资源未修改,从缓存中获取。
- 400 Bad Request:请求语法错误。
- 401 Unauthorized:需要用户权限认证。
- 403 Forbidden:服务器拒绝执行请求。
- 404 Not Found:未找到指定资源。
- 500 Internal Server Error:服务器错误,无法处理请求。
- 502 Bad Gateway:从远程服务器获取到一个无效响应。
- 503Server Unavailable:超载或系统维护,当前服务器无法处理客户端的请求。
6.请求头信息
- Accept:浏览器可以处理的数据类型。
- Accept-Encoding: 支持的压缩方式。
- Accept-Language:接收的语言。
- Cache-Control:缓存控制类型。
- Connection:连接类型。
- Content-Length:请求体长度。
- Cookies:用户信息,方便服务器辨别用户身份。
- Host:域名。
- Pragma:用户包含执行特定的指令。
- Referer:页面链接来源。
- sec-ch-ua:防止泄露浏览器详细信息。
- sec-ch-ua-mobile:是否是移动设备。
- sec-ch-us-platform:操作系统名称。
- sec-fetch-dist:请求的目的。
- sec-fetch-mode:请求模式
- sec-fetch-site:发起源与目标的关系。
- user-agent:客户端操作系统和版本。
7.响应头信息
- Access-Control-Allow-Origin:指定哪些网站可以跨站资源共享。
- Access-control-Allow-Methods:设置允许的请求方法。
- Access-control-Allow-Credentials:是否允许发送Cookies。
- Content-Length:响应体长度。
- Content-Type:内容类型。
- Content-Range:获取数据片段。
- Date:响应消息发送的时间(世界,+8 = 北京)。
- Cache-Control:缓存类型。
- Connection:连接类型。
- Content-Encoding:压缩方式。
- Express:指定过期时间。
- Server:服务器。
- Last-Modified:请求对象的最后修改日期。
- Etag:对象的修改标志。
- Refresh:用于重定向。