七层协议
名称(从下至上) | 协议 |
---|---|
物理层 | EIA/TIA-232, EIA/TIA-499, V.35 … |
数据链路层 | Frame Relay, HDLC, PPP, IEEE 802.3/802.2, FDDI, ATM, IEEE 802.5/802.2 … |
网络层 | IP,IPX,AppleTalk DDP |
传输层 | TCP,UDP,SPX |
会话层 | RPC,SQL,NFS,NetBIOS,names,AppleTalk,ASP,DECnet,SCP |
表示层 | TIFF,GIF,JPEG,PICT,ASCII,EBCDIC,encryption,MPEG,MIDI,HTML |
应用层 | FTP,WWW,Telnet,NFS,SMTP,Gateway,SNMP,HTTP |
HTTP基于 TCP IP 等协议
通信
一次请求,一次链接:
请求数据包
组成:
- 请求行:请求方式 + 请求资源路径 + 协议版本
- 消息头:一些键值对 w3c定义,如
- Connection: keep-alive保持链接(on),降低请求次数,如果js等静态资源
- User-Agent: 浏览器版本信息
- 实体内容:请求参数,只有请求为post方式才会有
相应数据包
组成:
- 状态行:协议版本 + 版本 + 状态码 + 状态描述
- 消息头:键值对,如
- Content-Type:告诉浏览器返回的护具数据类型和字符集
- 实体内容:程序的处理结果
状态码
服务器执行完客户端请求以后,返回给客户端的一个执行结果的状态编码
状态码 | 含义 |
---|---|
1xx | 表示请求已接收,服务器进行后续处理处理 |
2xx | 成功–表示请求已被成功接收、理解、接受 |
3xx | 重定向–要完成请求必须进行更进一步的操作 |
4xx | 客户端错误–请求有语法错误或请求无法实现 |
5xx | 服务器端错误–服务器未能实现合法的请求 |
状态码-错误
403
- 原因:往往是由于用户的操作没有权限,如在启用tomcat用户情况下,没有权限的用户访问/manager/status页面就会返回403错误
- 解决:检查权限配置
404
- 原因:Web服务器根据请求地址找不到对应资源
- 地址错误、配置、部署错误等
- 若是返回的jsp页面,也可能是jsp页面不存在
- 解决:检查url-pattern流程是否正确
405
- 原因:web服务器找不到service处理方法,如 url-pattern为 /user/gerUser.action?,而相应bean类或控制器没有该方法
- 解决:检查controler类及方法
500
- 原因:程序在运行中出错,如代码运运行时抛出异常等
- 解决:检查配置和调试代码