一、服务器,容器(软件)
1、服务器:提供网络访问的程序
2、容器:支持什么技术的服务器就叫做什么容器。比如Tomcat支持Servlet/JSP技术,又称为Servlet容器
二、http://www.apache.org

三、端口
服务器上的每个网络服务程序都对应一个端口。Tomcat默认对应的端口号是8080
Web应用的默认端口号是80
四、TOmcat依赖的JDK
Tomcat6.x之前要求必须安装JDK,之后只要安装JRE就可以了
五、采用解压版本的Tomcat需要配置JAVA_HOME环境变量
Catalina_home(Tomcat的安装根目录)环境变量不建议设置

六、Tomcat的常用目录
1、bin:运行Tomcat的相关命令
2、conf:配置文件所在的目录
3、lib:Tomcat服务器运行依赖的jar包
4、logs:存放启动和运行日志
5、webapps:存放要运行的web应用。该目录中的每一个文件夹都是独立的web应用

七、JavaWeb应用的目录结构
mail ————-javaweb应用的根目录
WEB-INF —————-javaweb应用中必须有,且必须取名为WEB-INF。放在该目录下的资源,客户端不能直接访问
classes ————— 存放class文件
lib ————— 存放该web应用所依赖的jar包
web.xml ————— web应用的配置文件
八、Tomcat安装目录中lib中的jar为Tomcat和其管理的所有JavaWeb应用服务的。
每个应用中lib中的jar只为当前web应用服务
九、发布JavaWeb应用
1、开放式目录:直接将应用拷贝到webapps目录下
2、war包:进入web应用的目录,执行jar -cvf mail.war .
十、配置虚拟目录:<Context/>元素
1、Context元素:配置单个web应用
path属性:URL访问的入口
docBase属性:web应用的存放路径
reloadable属性:web应用中的资源改动后,是否自动加载。默认值是false
2、配置方式:
a、修改conf/server.xml文件,在Host元素中增加Context元素。不建议使用,因为改动server.xml后,需要重新启动Tomcat才会起作用
b、在Tomcat的安装目录/conf/[enginename]/[hostname]/[appname].xml,appname就是URL访问路径。在该xml文件中增加以下内容
<?xml version=”1.0″ encoding=”gbk”?>
<Context docBase=”C:\mail” />
建议大家采用的方式

注:如果想把自己的应用当做默认应用,可以在Tomcat的安装目录/conf/[enginename]/[hostname]/目录中建立ROOT.xml文件。
那么访问这个应用就可以http://localhost:8080/a.html

若想将a.html页面配置成默认主页,需要配置web.xml文件,在其中增加以下内容:
<welcome-file-list>
<welcome-file>a.html</welcome-file>
</welcome-file-list>
那么访问a.html我们只需要输入http://localhost:8080
十一、配置虚拟主机,即配置一个网站
打开conf/server.xml文件,增加<Host/>元素
属性:
name:主机域名
appBase:该主机下的所有应用所在的文件目录

HTTP协议
一、请求消息
1、包含三大部分
1.1请求行:位于请求消息的第一行
格式:请求方式 资源路径 HTTP版本号<CRLF回车换行空格制表符>
常用请求方式:GET和POST方式
1.1.1Get请求方式:
a、若请求服务器上的某个资源,没有指定请求方式,则默认为GET方式
b、可以通过GET方式向服务器传递数据。具体方式就是在URL请求路径后加上?,多个参数以&分割。比如
http://localhost:8080/a.html?username=abc&password=123
注:GET请求方式,数据不安全且有URL长度限制(1K)
1.1.2Post请求方式:
a、若使用Post请求方式传递数据,可以借助form表单的method=”post”
b、数据安全,且长度没有限制

1.2若干消息头:从第二行开始到第一个空行。作用:向服务器传递客户端的一些基本信息
a、Accept:浏览器可接受的MIME类型(Tomcat安装目录/conf/web.xml中查找)
b、Accept-Charset:告知服务器,客户端支持哪种字符集
c、Accept-Encoding:浏览器能够进行解码的数据编码方式
d、Accept-Language:浏览器支持的语言。
e、Referer:当前页面由哪个页面访问过来的。
f、Content-Type:内容类型
g、Content-Length:请求正文的长度

1.3请求正文:从第一个空行开始,后面的都是正文。(可以没有)

二、响应消息
1、包含三大部分
1.1状态行:位于响应消息的第一行
格式: HTTP版本号 状态码 原因叙述<CRLF>

1.2若干消息头:从第二行开始到第一个空行
a、Location:制定转发的地址。需与302/307响应码一同使用
b、Server:告知客户端服务器使用的容器类型
c、Content-Encoding:告知客户端服务器发送的数据所采用的压缩格式
d、Content-Length:告知客户端正文的长度
e、Content-Type:告知客户端正文的MIME类型
Conent-Type:text/html;charset=UTF-8
f、Refresh:定期刷新。还可以刷新到其他资源
Refresh:3;URL=otherurl
3妙后刷新到otherurl这个页面
g、Content-Disposition:指示客户端以下载的方式保存文件。
Content-Disposition:attachment;filename=2.jpg
h、Expires:-1
Cache-Control:no-cache
Pragma:no-cache
控制客户端不要缓存

1.3响应正文:从第一个空行开始,后面的都是正文

tomact虚拟目录,虚拟主机,http请求头,相应头的更多相关文章

  1. 调用webapi 错误:使用 HTTP 谓词 POST 向虚拟目录发送了一个请求,而默认文档是不支持 GET 或 HEAD 以外的 HTTP 谓词的静态文件。的解决方案

    第一次调用webapi出错如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http:// ...

  2. JavaWeb学习篇之----web应用的虚拟目录映射和主机搭建(Tomcat)

    从今天开始来学习JavaWeb的相关知识,之前弄过一段时间JavaWeb的,就是在做毕业设计的时候搞过,但是那时候完全是为了任务去学习,所以效果不好,好多东西都没有深入的研究过,所以接下来的一段时间我 ...

  3. Tomcat 配置虚拟目录以及虚拟主机

    目录 虚拟目录 虚拟主机 虚拟目录 虚拟目录的功能 一般情况下,我们的打包后的项目都是放到tomcat/webapps目录下的,然后通过localhost:8080/project_name这个链接进 ...

  4. Apache配置虚拟目录和多主机头

    呃,相当古老的话题了,不过网上的资料实在是太坑爹,无奈只能自己动手做个备忘了...这里不提虚拟目录和主机头的区别了,不懂得童鞋去面壁思过吧 多个虚拟目录 首先把Apache安装到D:\Program ...

  5. 用iis虚拟目录和windows共享目录上传文件到远程

    现在有这样一个需求,有主机A和主机B.主机A上发布了一个网站,现在往主机A上上传文件默认是存在主机A上的, 如何把文件传到主机B上呢? 第一步在主机A和主机B上都创建同一个帐号admin,密码admi ...

  6. IIS的虚拟目录和子应用程序

    一.虚拟目录     虚拟目录是指在发布的网站下建立一个虚拟子目录,指定一个固定的物理路径做为站点的应用路径.     1. 虚拟目录与父级站点共用一个应用程序池,网站Test是在D盘下建立了的虚拟目 ...

  7. IIS - 虚拟目录与应用程序的异同

    在Windows 7 IIS7中,对服务器建立站点后,有二种添加子站点的方式 A. 虚拟目录 B. 应用程序   简单总结下二者之间的异同 A.虚拟目录     虚拟目录是指在站点下建立一个虚拟子目录 ...

  8. iis7+的虚拟目录:未能加载程序集“**”。请确保在访问该页之前已经编译了此程序集

    在使用win8系统后,突然想运行iis,于是在windows组件中启用iis,并aspnet_regiis.exe -i注册iis后,于是开始发布了一个站点,一切正常 继而,在该站点下添加虚拟目录,然 ...

  9. Apache 配置方法(虚拟目录、域名、虚拟主机等)

    基本配置 Define SRVROOT "C:/Apache24"     #宏定义一个主站点目录常量ServerRoot "${SRVROOT}"       ...

随机推荐

  1. LeetCode-Divdend two Integers

    题目: Divide two integers without using multiplication, division and mod operator. 思路分析 二分法.将除数不断增倍,而结 ...

  2. Linux-统一事件源

    概念: 信号时一种异步事件:信号处理函数和程序的主循环式两条不同的执行路线,信号处理函数需要尽可能快地执行完毕,以确保该信号不被屏蔽.(为了避免一些竞态条件,信号在处理期间,系统不会再次出发它)太久. ...

  3. DOM 节点实例操作

    涉及知识点包括节点的所有知识 目的: 自动为文档创建一个目录表 自动创建目录

  4. show,hide与fadeIn、fadeOu的区别

    show,hide——>是通过改变height,width,opacity来实现动画的显示与隐藏的 fadeIn.fadeOut——>只通过opacity来实现动画的显示与隐藏的 它们两个 ...

  5. 一个好玩的jq+php实现转盘抽奖程序

    前台页面: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <met ...

  6. Hdu1108(最小公倍数)

    #include <stdio.h> int main() { int Num1,Num2; while(scanf("%d %d",&Num1,&Nu ...

  7. iOS中3种正则表达式的使用与比较-备

    1.利用NSPredicate(谓词)匹配 例如匹配有效邮箱: ? 1 2 3 4 NSString *email = @“nijino_saki@163.com”:  NSString *regex ...

  8. input元素有padding间距,所以使用box-sizing来保持宽度不超出父元素

    http://vicbeta.com/code/2013/04/24/phone-over-width.html 手机web开发资料少,原创解决方案Mark. 手机页面遇到一个横竖屏切换时出现的问题. ...

  9. SIEM

    http://en.wikipedia.org/wiki/Security_information_and_event_management http://en.wikipedia.org/wiki/ ...

  10. 《Programming WPF》翻译 第7章 3.笔刷和钢笔

    原文:<Programming WPF>翻译 第7章 3.笔刷和钢笔 为了在屏幕上绘制一个图形,WPF需要知道你想要为图形填充什么颜色以及如何绘制它的边框.WPF提供了一些Brush类型支 ...