HTTP协议状态码
1XX 消息
表示请求已经接受,等待下一步处理,在HTTP1.0并不支持
- 100 continue 服务器已收到请求头,通知客户端继续发送主体
- 101 switching protocols 通过upgrade消息通知客户端切换协议来处理请求
2XX 成功
表示请求已经成功被服务器接受
- 200 ok 表示请求成功处理并返回,适用于get post head
- 201 created 请求创建新的资源成功,适用于put
- 202 accepted 请求被接受,但还没处理
- 203 non-authoritative information(http1.1起) 请求的是一个转换代理服务器
- 204 no-content 请求被服务器成功处理,但无内容返回。适用于put请求资源进行更新(不同于201)
- 205 reset content 与204一样,不同的是要求客户端重置文档,比如清空表单
- 206 partial content 部分资源请求成功 通常用户指定请求头 range的范围,比如断点续传
3XX重定向
表示客户端要进一步操作才能完成请求
- 301 moved permanently 请求的资源被永久移到新地址
- 302 found 写301类似,只是暂时移动,并不会更新新的地址
- 303 see other 与302类似,只是访问新的地址时以get方式,302的一种补充
- 304 not modified 与请求头If-Modified-Since或If-None-Match指定的版本对比,资源并未改变,无需重新获取资源,访问缓存
4XX客户端错误
表示客户端出现一些错误,比如违反规范或者与服务器需要的请求预期不符
- 400 bad request 客户端违反请求规范,如格式错误 ,请求体过大,或语法错误
- 401 unauthorized 没权限访问资源
- 403 forbidden 服务器已接受请求,但拒绝执行。与401不同,401可以访问,只是没权限而已,加上就可以
- 404 not found 请求资源没有找
- 405 method not allowed 不合理的请求方式,如果客户端使用服务端禁用的方法访问资源就会返回该码
5XX服务端错误
- 500 internal server error 服务端错误,无法处理请求
- 502 bad gateway 网关或服务器执行请求,但上游服务器无效响应
- 503 server unavailable 服务器维护或者过载
- 504 gateway timeout 超时
OSI七层模型 open system interconnect
- 物理层 建立、维护、断开物理连接
- 数据链路层 建立逻辑连接、进行硬件地址寻址、差错校验等
- 网络层 进行逻辑地址寻址,实现不同网络之间的路径选择
- 传输层 定义传输数据的协议端口号,以及流控和差错校验 TCP UDP
- 会话层 建立 管理 终止会话
- 表示层 数据的表示 安全 压缩
- 应用层 网络服务与最终用户的一个接口 HTTP FTP TFTP SMTP DNS POP3 DHCP TELNET HTTPS
HTTP协议的工作特点和工作原理
工作特点
- 基于B/S模式
- 通信开销小,简单快速,传输成本低
- 使用灵活、可使用超文本传输协议
- 节省传输时间
- 无状态
工作原理
客户端发送请求给服务器,创建一个TCP连接,指定端口号,默认为80,连接至服务器,服务器监听到浏览器请求,一旦监听到客户端请求,分析请求类型后,服务器会向客户端返回状态信息和数据内容。
HTTP协议常见请求、响应和请求方法
- Content-Type Internet Media Type,互联网媒体类型;也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息。
- Accept 浏览器端可以接受的媒体类型
- Origin Origin字段里只包含是谁发起的请求,并没有其他信息 (通常情况下是方案,主机和活动文档URL的端口)。跟Referer不一样的是,Origin字段并没有包含涉及到用户隐私的URL路径和请求内容
- Cookie 将cookie的值发送给HTTP 服务器
- Cache-Control Public 可以被任何缓存所缓存()Private 内容只缓存到私有缓存中 no-cache 所有内容都不会被缓存
- User-Agent 客户端使用的操作系统和浏览器名称、版本
- Referrer 提供了Request的上下文信息的服务器,告诉服务器我是从哪个链接过来的,比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。
- X-Forwarder-For 客户端ip,可伪造
- Access-Control-Allow-Origin 允许特定的域名访问,跨域使用
- Last-Modified 请求资源的最后响应时间
请求方法
GET POST HEAD OPTIONS PUT DELETE TRACE
HTTPS协议的工作原理
HTTPS是一种基于SSL/TLS的HTTP协议,所有的HTTP数据都是在SSL/TLS协议封装之上传输的。HTTPS协议在HTTP的基础上,添加了SSL/TLS握手以及数据加密传输 (html over ssl)
常见网络协议含义及端口
FTP 文件传输 21
Telnet 远程登陆 23
SMTP 发邮件 25
POP3 收邮件 110
HTTP 超文本传输 80
DNS 域名解析服务 53
HTTP2.0
HTTP/2.0兼容HTTP/1.1的基础上,采用了二进制的方式来优化传输的效率,连接方式上采用了多路复用,就是单个连接同时可以处理多个请求,他消除了一些相似请求的重复操作,
优势
- 多路复用
- 压缩头信息
- 请求划分优先级
- 支持服务器端主动推送