heep:超文本传输协议
http协议是一种无状态的协议,当客户端和服务器之间完成了数据交互之后,连接会断开,以释放服务器的内存资源,这样服务器就无法保存客户端的状态,会认为每次请求的用户都是新用户。
http协议的请求信息分为四部分:
1.请求行:描述请求方式、请求的URL、http协议的版本。
2.请求头:以键值对方式描述客户端的状态。
3.空行:标识请求头的结果和消息体的开始。
4.消息体:(只针对POST):描述客户端发送给服务器端的表单数据。
MIME类型:用于描述客户端和服务器之间交互内容类型。客户端可以根据MIME类型,决定以什么应用程序来打开和执行。
http响应信息分为四部分:
1.状态行:描述http协议版本、状态码、状态描述。
2.响应头:以键值对方式描述服务器相关的状态。
3.空行:标识响应头的结果和消息体开始。
4.消息体:描述服务器发送给客户端的内容。
传统的web服务器产生响应时,只能产生静态的html信息,极大影响响应信息的灵活性,解决方案是,在web服务器之后加上辅助应用。辅助应用可以将请求信息处理后,以数据库为介质保存处理结果,然后动态产生响应信息。
CGI称为通用网关接口,它是辅助应用的一种解决方案。可以用多种语言编写。当客户端向服务器发送请求后,会开启外部程序来处理该请求。由于每个外部程序是进程,每次开启都会占用独立内存空间。所以,会极大的耗费服务器。
java是利用web容器+servlet方式实现辅助应用。由web容器做一些底层操作,比如,流的解析,线程的控制,数据的封装等等。同时,预留Servlet接口。交给开发者书写业务逻辑。这样开发者就可以将主要精力放在业务实现上,而不用为底层操作编写代码。同时,web容器利用多线程解决多任务,可以同时接收更多请求。
容器对Servlet的支持包括
1.通信支持(将请求信息和响应信息封装成请求对象和响应对象)
2.Servlet生命周期管理(生产Servlet和销毁Servlet,并调用Servlet相关的方法)
3.多线程支持(线程创建、线程启动,线程运行,线程同步)
4.JSP支持
5.处理安全性
web应用程序组成部分
WEB-INF:目录中的内容是不能被客户端直接访问的,存放一些比较隐秘的信息;
WEB-INF:1.classes 开发者书写业务类编译生成的class文件
2.lib用于存放web应用程序中所使用的jar文件
3.web.xml 用于web组件的注册
*.html
*.jpg
*.css
*.js
http协议是一种无状态的协议,当客户端和服务器之间完成了数据交互之后,连接会断开,以释放服务器的内存资源,这样服务器就无法保存客户端的状态,会认为每次请求的用户都是新用户。
http协议的请求信息分为四部分:
1.请求行:描述请求方式、请求的URL、http协议的版本。
2.请求头:以键值对方式描述客户端的状态。
3.空行:标识请求头的结果和消息体的开始。
4.消息体:(只针对POST):描述客户端发送给服务器端的表单数据。
MIME类型:用于描述客户端和服务器之间交互内容类型。客户端可以根据MIME类型,决定以什么应用程序来打开和执行。
http响应信息分为四部分:
1.状态行:描述http协议版本、状态码、状态描述。
2.响应头:以键值对方式描述服务器相关的状态。
3.空行:标识响应头的结果和消息体开始。
4.消息体:描述服务器发送给客户端的内容。
传统的web服务器产生响应时,只能产生静态的html信息,极大影响响应信息的灵活性,解决方案是,在web服务器之后加上辅助应用。辅助应用可以将请求信息处理后,以数据库为介质保存处理结果,然后动态产生响应信息。
CGI称为通用网关接口,它是辅助应用的一种解决方案。可以用多种语言编写。当客户端向服务器发送请求后,会开启外部程序来处理该请求。由于每个外部程序是进程,每次开启都会占用独立内存空间。所以,会极大的耗费服务器。
java是利用web容器+servlet方式实现辅助应用。由web容器做一些底层操作,比如,流的解析,线程的控制,数据的封装等等。同时,预留Servlet接口。交给开发者书写业务逻辑。这样开发者就可以将主要精力放在业务实现上,而不用为底层操作编写代码。同时,web容器利用多线程解决多任务,可以同时接收更多请求。
容器对Servlet的支持包括
1.通信支持(将请求信息和响应信息封装成请求对象和响应对象)
2.Servlet生命周期管理(生产Servlet和销毁Servlet,并调用Servlet相关的方法)
3.多线程支持(线程创建、线程启动,线程运行,线程同步)
4.JSP支持
5.处理安全性
web应用程序组成部分
WEB-INF:目录中的内容是不能被客户端直接访问的,存放一些比较隐秘的信息;
WEB-INF:1.classes 开发者书写业务类编译生成的class文件
2.lib用于存放web应用程序中所使用的jar文件
3.web.xml 用于web组件的注册
*.html
*.jpg
*.css
*.js