Web
用于表示Internet主机提供外界访问的资源
Internet提供外界访问的资源分为
静态资源(HTML页面):指web中提供的页面浏览时数据始终不变
动态web资源:指web页面中供浏览的数据是程序产生的,不同事件点访问web页面看到的内容各不相同.
1.JavaEE规范
由一组相关的技术构成的集合,规范:由相应的类和接口构
2.Tomcat目录结构
bin:主要放批处理文件 startup.bat 开启服务器 ,shutdown.bat停止
conf 存放tomcat相关配置的文件 server.xml web.xml context.xml
lib 存放jar包
logs 存放日志信息
temp 存放临时文件(文件上传)
webapps 存放tomcat中所包含的应用,有几个文件夹就有几个应用
Roor/index.html
work: Tomcat工作产生的目录缓存
3.一个常用的web项目所包含的目录结构
WEB-INF 必须的 (该目录中包含的内容,外界不能访问)
lib jar包
web.xml 必须的
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
</web-app>
css文件夹
html文件夹
部署的方式
1.直接将应用程序文件夹拷贝到Tomcat的webapps
2.打war包 jar -cvf web应用目录 .
把war包拷贝到webapps目录下
4.虚拟目录
1.在Host中加入<Context path="" docBase="">
path代表应用的访问路径,一定要有"/"
docBase代表的是应用的真实路径
缺点:
要重新启动服务,才能加载进来
2.做一个虚拟目录第二种方式
conf/[Catclina]/[localhost]/应用名.xml
文件xml中的内容
<Contex docBase=""/>
4.设置主页
改Tomcat的web.xml文件
<welcome-file-list>
<welcome-file>1.html</welcome>
</welcome-file-list>
改端口69行 port="80" 这样就不需要写端口了,原因http默认用80端口号
HTTP概念
超文本传输协议 浏览器和服务器交换数据的一种标准格式
版本
HTTP1.0 HTTP1.1(目前使用的)
1.0和1.1的区别
1.0建立连接后只能请求和响应一次 1.1建立连接后可以多次请求和响应,连接才会断开
一个关键的问题:
外部文件的引入,就会再次由浏览器本身发送一个请求,<link> <img src=""> <scipt src="">
GET与POST两种提交方式区别
GET提交的数据不能超过1kb 提交的数据会显示在地址栏 数据长度有限制 相对不安全
POST提交的数据大小没有限制 提交的数据显示在主体中 所以相对安全
请求头特点:
总体特点:第一行是请求方式 第二行是一组请求头信息 第三行是空白
第一行是请求方式
GET /app/dome.html HTTP/1.1
请求方式: 请求类型 请求资源 协议版本
第二行是一组请求头信息
Accept-Charset 浏览器告知服务器,自己所支持的编码(GBK,UTF-8)
Accept-Encoding:gzip deflaut 采用哈夫曼编码进行数据的无损压缩
Accept-Language:告诉服务器, 自己所采用的语言类型
Host:主机
Referer:告诉服务器数据的来源
作用:1.统计网站请求来源 2.防盗链
Content-Type:内容类型 text/html
If-modified-since:缓存的最后时间
User-Agent:浏览器的类型 例如:360,IE,Firefox等等
Content-length:正文的长度
Connection:close/keep-alive
作用:在HTTP1.0官方协议中并没有对keepalive的明确支持,所有的HTTP请求是如下流程:
1.client 发起一个请求;
2.server收到请求后,回复一个响应;
3.连接关闭。
如果要在HTTP1.0中支持keep alive,你必须明确的在header中加入Connection:keep-alive。
1.client 发起一个包含Connection:keep-alive的请求
2.server收到请求后,如果server支持keepalive,回复一个包含Connection:keep-alive的响应,不关闭连接,否则回复一个包含Connection:close的响应,关闭连接。
3.如果client收到包含Connection:keep-alive的响应,向同一个连接发送下一个请求,直到一方主动关闭连接。
因为keepalive在很多情况下能够重用连接,减少资源消耗,缩短响应时间。所以在HTTP1.1中缺省就是支持keepalive的,如果响应方
不 支持keepalive,需要明确的标识Connection:close,Connection:keep-alive就没什么意义了。
Cookie:会话信息
常见状态码
200:正常成功
302/307:重定向
304:服务器未修改
404:服务器找不到资源
500:服务器出现问题
响应头信息
location:http://www.baidu.com 指示新的资源的位置 作用:重定向跳转(302)
Server:代表服务器端所使用的服务器类型
Content-Encoding:gzip 代表数据的压缩方式
Content-Language:zh-cn 告诉客户端 服务器发送文本的语言
Content-Type:text/html; charset=GB2312 服务器发送的内容的MIME类型 (Multipurpose Internet Mail Extensation) 多用途互联网邮件扩展类型
Last-Modified:服务器最后修改资源时间
Refresh:指定服务器刷新时间 Refresh: 3; url=http://www.baidu.com 指示服务器在3秒后刷新
Content-Disposition: attachment;FileName=aaa.zip 指示客户端下载文件
Expires: -1 清理缓存
Cache-Control:no-cache(1.1) 没有缓存
Pragma: no-cache (1.0) 没有缓存
Set-0Cookie:S=QQ=5LB_nQ; path=/search服务端发送的Cookie
清空缓存经常用的三个消息头
Expires: -1
Cache-Control: no-cache (1.1)
Pragma: no-cache (1.0)