HTTP/1.1中 状态码 200 301 304 403 404 500的含义
HTTP协议状态码
状态码负责客户端http请求的返回结果 标记服务器端处理是否正常以及出现的错误
状态码的职责是 当客户端向服务器端发送请求的时候 描述返回的请求结果
五类响应
1XX 信息类状态码 接受请求正在处理
2XX success成功状态码 请求正常处理完毕
3XX 重定向 redirection 还需要附加操作以完成请求
4XX client error 客户端错误 服务器无法处理请求
5XX server error 服务器错误 服务器处理请求时候出错了
常见状态码
200 OK请求正常处理
204 no content 请求正常处理 返回的响应报文中不含实体的主体部分
206 part content
301 跳转 永久性重定向 请求的资源被分配了新的uri 以后应使用现指向的uri
302 临时重定向 请求的资源被分配了新的uri 本次使用新的uri访问
303 请求的资源存在另一个uri 应使用get方法 定向获取请求的资源
304 客户端发送附带条件的请求时 服务器端允许访问资源 但因发生请求未满足条件的情况后
307 临时重定向 与302相似
400 请求报文中存在语法错误 错误发生时候需修改请求内容 再次发送请求
401 发送的请求有需要通过http认证的认证信息
403 对请求资源的访问被服务器拒绝了
404 服务器上无法找到请求的资源
500 服务器端在执行请求时发生错误
503 服务器暂时处于超负载或者是正在进行停机维护 无法处理请求
延伸:OSI七层模型
物理层 建立 维护 断开物理连接
数据链路层 建立逻辑连接 进行硬件地址寻址 差错校验等功能
网络层 进行逻辑地址寻址 实现不同网络之间的路径选择
传输层 定义传输数据的协议端口号 以及流控和差错检验
协议有TCP UDP 数据包一旦离开网卡即进入网络传输层
会话层 建立 管理 终止 会话
表示层 数据的表示 安全 压缩
应用层 网络服务与最终用户的接口
协议有 HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP
延伸:HTTP协议的工作特点和工作原理
工作特点
基于B/S 模式 brower/server 通信开销小 简单快速 传输成本低
使用灵活 可使用超文本传输协议
节省传输时间
无状态
工作原理
客户端发送请求给服务器 创建一个TCP连接 指定端口号 默认80 连接到服务器 服务器监听
浏览器请求 一旦监听到客户端请求分析请求类型后 服务器向客户端返回状态信息和数据内容
延伸: HTTP协议常见请求/响应头和请求方法
Content-Type 请求的与实体对应的 MIME信息
Accept 指定客户端能接受的内容 类型
Origin 最初的请求来源于哪 主要用于post请求
Cookie http请求发起时 发送给 服务端cookie的值
Cache-Control 指定请求和响应缓存机制
User-Agent 用户信息
Referer 上级请求路径 不只post 一些请求都可以
X-Forwarded-For 请求端的真实 ip
Access-Control-Allow-Origin 允许特定的域名访问 通常跨域使用
Last-Modified 请求资源的最后响应时间
延伸:HTTP协议的请求方法
GET 会显示请求指定的资源 主要用于数据的读取
POST 会向指定资源提交数据 请求服务器进行处理
HEAD 类似get 向服务器发送指定资源请求 服务器响应head请求时候 不会回传资源内容部分 只回传head头信息
OPTIONS 类似于head 一般用于客户端查看服务器性能 请求服务器 返回该资源所支持的HTTP请求方法 该方法用*代替资源名称
PUT 会向指定资源位置 上传最新的内容 取代指定资源的内容 修改用put 创建用post(restful API规则)
DELETE 请求服务器删除所请求的uri标识的资源
TRACE 请求服务器回显收到的请求信息 用于http测试或者诊断
HTTP协议的GET和POST请求方法的区别?
在做后退/刷新按钮的时候 get没太大变化 post数据会重新提交
get请求可以被浏览器缓存 可以收藏为书签 post不可以
get请求的时候 编码类型是application/x-www-form-urlencoded
post 还有一种方式multipart-form-data为二进制数据多重编码上传
get在历史记录当中 参数会保留在浏览器历史中 post不会
get会向url添加数据 有数据长度的限制 2048个字符 post没有限制
数据类型的限制get只允许 ascii字符 post没有限制 也允许二进制数据
get安全性较差 发送的数据是url的一部分
延伸: HTTPS协议的工作原理
HTTPS是一种基于SSL/TLS的HTTP协议 所有的HTTP数据都是在SSL/TLS协议封装之传输的
HTTPS协议在HTTP协议的基础上 添加了SSL/TLS握手以及数据加密传输 也属于应用层协议
延伸:常见网络协议含义以及端口
FTP 文件传输协议 21
Telnet 远程登录 dos模式下的通信 23
SMTP 简单邮件传输协议 发送邮件25
POP3 简单邮件传输协议 接受邮件110
HTTP 超文本传输协议 80
DNS 域名解析服务 53