HTTP协议特性
①无状态。协议本身不会保存任意客户端的历史请求消息,服务器无法识别两次请求是否来自同一用户(解决方法:Cookie,Session)
②基于TCP。http属于应用层协议,底层依托tcp传输层协议通信,tcp具备面向连接,可靠,有序传输特性,通过三次握手建立连接,四次挥手断开连接,保证客户端与服务器之间数据不丢失不乱序
③请求-相应模型。通信单向驱动,只由客户端发起请求。固定流程:客户端发起请求->服务器处理->返回响应
B/S架构 VS C/S架构优缺点
B/S(浏览器/服务器)
优点:打开就能访问,不需要安装,跨平台,版本统一,升级维护用户无感知
缺点:全部请求依赖网络,,断网无法使用,服务器压力大,浏览器权限受限,网络差时页面加载交互卡顿
C/S(客户端/服务器)
优点:本地运算,响应速度快,交互流畅,可充分利用本地资源,安全性高
缺点:每台用户都要安装,升级更新麻烦,跨平台差,维护成本高
URL路径类型
绝对路径:包含协议域名端口资源地址,直接定位互联网任意资源
相对路径:不写协议域名端口,以当前目录去查找资源
网络根路径:/项目名/资源地址,/代表当前服务器的项目根目录
HTTP请求方法及适用场景,语义
①GET:语义:查询获取资源,只读操作,不修改服务器数据 使用场景:查询页面,跳转页面,图片/css/js加载
②POST:语义:提交,新增数据,会改变服务器数据 使用场景:登录提交,注册,表单提交,上传文件,新增数据
③PUT:语义:修改服务器已有资源(更新用户,修改商品)
④DELETE:语义:删除服务器资源
⑤HEAD:只获取响应头,不返回页面内容,检测资源是否存在
状态码分类
①2xx成功
200OK 请求成功,正常返回数据
201Creat POST新增资源成功
204No Content 处理成功,无返回内容
②4xx客户端错误
400Bad Request 请求参数格式错误
401Unauthorized 未登录,无身份凭证
404NotFound 访问资源不在(路径写错,页面删除)
③5xx服务端错误
500InternalServerError 服务器代码报错(空指针,SQL异常)
503Service Unavailble 服务器繁忙,停机维护,连接池耗尽
504GateWayTimeOut 网关超时,服务器响应过慢