web



html:全程为超文本标记语言。是通过标记和子标记来描述网页内容。超文本的含义为在网页中描述的不止是文本数据,
 还可以通过一系列标记去链接各式各样的资源,包括图片、音频、css、js等。当客户端在访问网页时,
 除了要下载文本数据,还需要通过网页中描述的链接地址,去下载各式各样的资源文件。才能让网页正确显示。

工厂模式:将对象的创建和对象的使用分开进行,其目的是解耦。


http:超文本传输协议
遵循请求/响应模型   端口为80
http协议是一种无状态的协议,当客户端和服务器之间完成了数据交互之后,连接会断开,以释放服务器的内存资源。这样服务器就无法
 保存客户端的状态。会认为每次请求的用户都是新用户。


http处理流程:客户端和web服务器建立连接     客户端发送http请求   服务器端接收客户端的http请求,生成http响应  
 服务器端关闭连接


http的请求信息分为四部分:
 请求行:描述请求方式,请求的url、http协议的版本
 请求头:以键值对方式描述客户端的状态
 空行:标识请求头的结束和消息体的开始
 消息体:(只针对post)描述客户端发送给服务器的表单数据


MIME类型:用于描述客户端和服务器之间交互内容类型。客户端可以根据mime类型,决定以什么应用程序来打开和执行。
text/html:网页格式数据
image/jpeg:图片格式数据
text/xml:xml格式数据


http响应信息分为四部分:
 状态行:描述http协议版本、状态码、状态描述。
 响应头:以键值对方式描述服务器相关的状态
 空行:标识响应头的结束和消息体开始
 消息体:描述服务器发送给客户端的内容


传统的web服务器产生响应时,只能产生静态的html信息,极大影响响应信息的灵活性。解决方案是,在web服务器之后加上辅助应用。
 辅助应用可以将请求信息处理后,以数据库为介质保存处理结果,然后动态产生响应信息。


CGI:称为通用网关接口,它是辅助应用的一种解决方案。可以用多种语言编写。当客户端向服务器发送请求后,会开启外部程序来处理
 该请求。由于每个外部程序是进程,每次开启都会占用独立内存空间。所以,会极大的耗费服务器的内存资源,也不能接受
 太多的请求。


java是利用web容器+servlet方式实现辅助应用。由web容器做一些底层操作,比如,流的解析,线程的控制,数据的封装等。
 同时,预留servlet接口,交给开发者书写业务逻辑。这样开发者就可以将主要精力放在业务实现上,而不用为底层操作编写
 代码。同时,web容器利用多线程解决多任务,可以同时接受更多请求。


web容器负责管理和运行servlet
容器对servlet的支持包括:
 通信支持(将请求信息和响应信息封装成请求对象和响应对象)
 servlet生命周期管理(产生servlet和销毁servlet,并调用servlet相关的方法)
 多线程支持(线程创建、线程启动、线程运行、线程同步)
 JSP支持(jsp引擎编写)
 处理安全性
web容器主要是用于给处于容器中的应用程序组件(servlet、JSP)提供一个环境,使servlet、jsp直接跟容器中的环境变量交互
 这样,我们就可以吧注意力放在用servlet实现业务逻辑上,而不必关注其他系统问题。


servlet规范
规范只定义了一个容器必须实现的标准功能
servlet容器有很多不同的实现
 Tomcat    Jboss    WebLogic    WebSphere    Oracle9i AS


WEB-INF目录中的内容是不能被客户端直接访问,存放一些比较隐秘的信息
WEB应用程序包括  WEB-INF-----classes 开发者书写业务类编译生成的class文件
   -----lib 用于存放web应用程序中所使用的jar文件
   -----web.xml 用于web组件的注册
  *.HTML
  *.JPG
  *.CSS
  *.JS


tomcat的目录结构:
bin:用于存放tomcat中的可执行文件。其中startup.bat用于启动tomcat,shutdown.bat用于关闭tomcat。
conf:存放tomcat的配置文件。其中server.xml用于tomcat服务器相关的配置,web.xml用于tomcat中web应用相关的配置。
 server.xml 
  <Connector port="8080" protocol="HTTP/1.1"... 描述tomcat启动端口
  <Host name="localhost"  appBase="webapps"  unpackWARs="true"
   appBase描述tomcat中存放web应用程序的目录  unpackWARs当web应用程序目录中有war文件,则自动解压。
lib:用于存放tomcat运行时所使用的jar包。其中servlet-api.jar是tomcat根据servlet规范提供的实现类,所生成的jar文件。
logs:用于存放日志文件
temp:用于存放临时文件
webapps:用于存放和部署web应用程序的目录
work:用于jsp支持


web服务器、web容器、web应用服务器的区别
web服务器主要作用于开启服务器,监听端口,接收请求,产生响应,只是只能产生静态html响应信息,极大影响响应信息灵活性。
web容器是辅助应用的一种解决方案,允许将请求信息处理完成后,动态产生响应信息。
web服务器+web容器,合称web应用服务器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值