Web概述及HTTP协议
本文简要介绍Web应用程序组成部分、http协议、http的特点、事务的特征、Http的两个行为等简要。
Web 应用程序的组成部分
- Web前端
- 客户端
- 服务端
Http(Hyper text transform protcoal )超文本传输协议
Http的特点:
1、 http协议是传输协议
2、 Hhtp协议是请求/响应模型
3、 无状态协议(不会记录请求,下次发的请求是新的请求)
HTTP处理流程分析
事务的特征:
原子性、一致性、隔离性、持久性
Http的两个行为:请求协议和响应协议
请求协议:请求行、请求头、空行、消息体
响应协议:状态行、响应头,空行、消息体
请求头:浏览器的信息
空行:用来分隔
Http协议Content-Type:
互联网媒体类型,MIME类型
Text/html Html格式
Text/plain 纯文本
Text/xml xml格式
Text/gif gif格式
Text/jpeg jpg图片格式
Image/png png图片格式
以application开头的媒体格式类型:
• application/xhtml+xml :XHTML格式
• application/xml : XML数据格式
• application/atom+xml :Atom XML聚合格式
• application/json : JSON数据格式
• application/pdf :pdf格式
• application/msword : Word文档格式
• application/octet-stream : 二进制流数据(如常见的文件下载)
• application/x-www-form-urlencoded : 中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)
Http请求的方式:
Head:响应头数据
Options:支持哪些方式
Post:查找服务器提供的网络资源(新增数据)
Get:查找服务器提供的网络资源(检索数据)
Put:数据的修改
Delete:数据的删除
Trace:反馈http协议的请求头
Connect:预留的方法
幂等:get、put、delete
非幂等:post(从无到有)
HTTP响应码:
100多:正在处理
200多:处理成功,后台接受采纳
300多:无法处理,给一个新的地址去处理(302\304)
400多:客户端错误(路径错误、不支持提交方式)
500多:后台错误,服务器存在问题(空指针、抛出异常)
WEB服务器
Web服务器是能够接收客户端发送的http协议的服务器。
目前主流的三个服务器是Apache Nginx IIS
Web服务器既可以接收动态请求和静态请求,但无法处理动态请求。
CGI(Common Gateway Interface)通用网关接口,一种动态技术,动态请求发送给CGI处理。
CGI是一个进程级别的程序
辅助应用的Java的解决方案
Servlet与Web容器被设计用来解决CGI的问题
Servlet是java企业级开发的规范
Web容器的作用是为Servlet搭建运行环境
常见Web容器:
Tomcat、jetty、websphere、weblogic
Tomcat、jetty都是轻量级的web容器
Servlet
Servlet没有Main方法
Servlet是单实例多线程开发。
Servlet不拥有存储能力,只有计算能力。
Servlet的作用:
Servlet 通过创建一个框架来扩展服务器的能力,以提供在 Web 上进行请求和响应服务。当客户机发送请求至服务器时,服务器可以将请求信息发送给 Servlet ,并让 Servlet 建立起服务器返回给客户机的响应。 当启动 Web 服务器或客户机第一次请求服务时,可以自动装入 Servlet 。装入后, Servlet 继续运行直到其它客户机发出请求。
Servlet不能单独存在必须依赖WEB容器,web容器同样是java编写的应用程序。
Web容器对Servlet的支持:
1、 通信支持
2、 Servlet生命周期
3、 多线程
4、 JSP(java Server Pages,java服务器页面)
5、 处理安全性
Web容器主要是用于给servlet提供运行时。
web项目目录:
Src 源代码
WebContent显示的内容
WEB-INF WEB应用程序的相关信息,这里面的信息无法被浏览器访问
Lib第三方架包
Web.xml 该web程序的相关信息