应用层常用协议:
SMTP:简单邮件传输协议
FTP:文件传输协议
DNS:域名服务器
SNMP:简单网络管理协议
NFS:网络文件系统协议
HTTP:超文本传输协议(短连接)
TELNET:远程登录协议
http是隶属于tcp家族里的协议
传输层协议:
TCP:传输控制协议(长连接),是可靠传输的
UDP:用户数据包协议,不可靠传输
网际层协议
ICMP:
IGMP:
IP:
网络接口层:
LAN:局域网
MAN:城域网
WAN:广域网(万维网)
HTTP版本1.1中定义了八种可能的HTTP请求方式
GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT
HTTP协议的主要特点:
遵循请求/响应模型:支持客户端/服务器模式
无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户端的请求,并收到客户端应答后,即断开连接
无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。
简单快速:客户向服务器请求服务时,只需要传送请求方法和路径。
灵活:HTTP允许传输任意类型的数据对象。
HTTP定义的事务处理有四步处理:
建立连接(三次握手)
客户端发送请求
服务器响应
关闭连接
响应码:
1xx:信息,请求收到,继续处理
2xx:成功,行为被成功的接收、理解和采纳
3xx:重定向,为了完成请求,必须进一步执行的动作
4xx:客户端错误,请求包括语法错误或者请求无法实现
5xx:服务器错误,服务器不能实现一种明显无效的请求
JAVA Web服务器
web服务器的缺陷:
只能向客户端提供静态页面内容
java解决缺陷的方式
java生成动态页面是基于Servlet/jsp技术(java Server Pages,Java服务页)
最早解决缺陷方案CGI
优点:可以任意语言编写
缺点:每一个CGI程序就要单独开启一个进程,耗内存,所以不支持高并发
web容器:提供servlet的运行环境
web容器对servlet的支持包括:
通信支持
生命周期管理
多线程支持
jsp支持
处理安全性
开发servlet程序的步骤:
1、自定义类继承HttpServlet
2、重写doGet和doPost方法
3、在 web.xml中配置
servlet生命周期
1、创建servlet对象 执行一次
2、调用init方法初始化操作 执行一次
3、调用doGet或者doPost方法提 执行多次
4、调用destroy方法 执行一次
5、由GC从JVM中卸载掉,被GC回收掉
特殊情况:
如果长时间没有请求发给servlet,此servlet会被销毁掉,所以当下一次请求再次发过来的时候,此servlet会重写创建