04tomcat服务器和Http协议.docx
- 文档编号:29868197
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:16
- 大小:165.50KB
04tomcat服务器和Http协议.docx
《04tomcat服务器和Http协议.docx》由会员分享,可在线阅读,更多相关《04tomcat服务器和Http协议.docx(16页珍藏版)》请在冰豆网上搜索。
04tomcat服务器和Http协议
一、WEB服务器
1.基本概念
什么是web
WEB在英语中即表示网页的意思,它用于表示Internet主机上供外界访问的资源以及超链接所组成的链表
放在internet网上供外界访问的文件或程序被称为web资源
web资源被分为:
静态web资源:
html、css、jpg
动态web资源:
Servlet、Jsp
2.什么是WEB服务器?
就是一台电脑,安装了一个服务器软件
3.为什么需要安装WEB服务器
思考问题:
从一台计算机的IE浏览器如何去访问另一台计算机中的文件
3.1两台计算机是如何实现通讯的?
IP地址(计算机的唯一标识)
IPV44个字节的整数,每个字节以点号隔开192.168.1.100每个字节的取值0~255
在计算机中程序会绑定在某一个端口0~65535尽量用1024以上的
连接一台计算机就需要输入ip地址和端口号
作为接收方,应该绑定ip,监听指定的端口
3.2在本地写程序添加一个服务,供别人来访问,假设监听8888端口
3.3编码实现了一个本地服务器程序
作用:
管理本地的资源,只要将html页面放到指定的目录下,外界就可以访问了
3.4安装服务器的目的:
开发好的web资源可以发布到服务器上,这样外界就可以通过浏览器访问了
源程序:
MyServer.java
//ServerSocket对象可以监听端口
ServerSocketserversocket=newServerSocket(6666);
while(true){
Socketsocket=serversocket.accept();//等待客户端的连接请求,一旦有请求过来,就结束阻塞,返回客户端对象
//一旦有客户来访问,就另开一个新线程去提供服务,main线程继续等待下一个客户的连接
newThread(newMyService(socket)).start();
}
MyService.java
//提供服务
InputStreamin=socket.getInputStream();
Thread.sleep(200);
intlen=in.available();//估计此流不受阻塞能读取的字节数
byte[]buffer=newbyte[len];
in.read(buffer);
Stringrequest=newString(buffer);
//截取第一行
StringfirstLine=request.substring(0,request.indexOf("\n"));
StringuriName=firstLine.split("")[1];
OutputStreamout=socket.getOutputStream();
//根据需要访问的资源创建File对象
Filefile=newFile("src"+uriName);
if(!
file.exists()){
out.write("对不起!
您访问的资源不存在!
别瞎搞!
!
".getBytes());
out.close();
return;
}
//从文件读,往浏览器写
FileInputStreamfis=newFileInputStream(file);
buffer=newbyte[1024];
while((len=fis.read(buffer))>0){
out.write(buffer,0,len);
}
socket.close();
二、Tomcat服务器的安装和配置
1.使用tomcat6.0.20.rar文件解压即完成安装
2.tomcat就是一个java程序,一定会用到jre
所以需要配置环境变量java_home配置成jdk的安装目录c:
\jdk1.6
tomcat的启动是通过startup.bat文件,实际上startup.bat中是去调用
catalina.bat文件,而且是通过%catalina_home%\bin\catalina.bat去找
所以为了保证服务器启动正常,需要配置catalina_home环境变量为tomcat的安装目录
3.tomcat的目录结构
bin:
存放一些执行文件
conf:
存放服务器的配置文件
lib:
存放tomcat所依赖的jar文件
logs:
存放日志文件
temp:
存放临时文件
webapps:
webapplications存放所有的web应用程序(web资源)
work:
tomcat的工作目录,jsp翻译成的Servlet就在这个目录下
4.web应用
多个web资源存放在一个目录下即为一个web应用(web应用程序、web工程)
web应用的目录结构
静态web资源直接放在目录下
java类放在classes目录下
web.xml文件负责管理web应用下所有的web资源
所有jar包放在lib目录下
三、WEB应用的映射
1.虚拟目录
一个web应用(服务器上一个目录)需要供外界访问的路径,需要映射虚拟目录
在tomcat6中,放在webapps下的web应用,服务器会自动做映射(将文件夹名称作为虚拟路径)
对于webapps目录外的web应用需要手动映射虚拟路径
1.1.在server.xml文件可以配置
\itcast”/> 1.2.在%tomcat目录%\conf\catalina\localhost下写一个xml文件 文件名就是虚拟目录 \itcast”/> 多级目录配置aaa#bbb.xml对应/aaa/bbb 如果文件名是ROOT.xml那就是配置了缺省的web应用,访问时不需要输入虚拟目录 2.web.xml 管理web应用下所有的web资源 通俗地讲,一个web应用下所有的web资源如何被外界访问都需要在此文件下做映射 包括咱们后面学的Servletjsp都需要在这个文件中做映射 实验: 配置web应用的首页 在web应用下新建目录WEB-INF,在此目录下新建web.xml文件 xmlversion="1.0"encoding="ISO-8859-1"? > xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation=" version="2.5"> 3.域名解析 一个完整url http: \\: 80\itcast\index.jsp 协议名主机名端口号资源名(uri) IE访问服务器的原理, 在IE中输入的地址中包含域名,域名就需要被翻译成服务器的IP,才能访问到服务器 4.web应用映射的练习: 新建一个web应用 配置成缺省的web应用 配置首页 配置tomcat监听端口为80 在windows中注册主机名 5.虚拟主机 服务器允许在一个IP上配置多个主机,即虚拟主机 : 80/index.html 中的起了两个作用: 找DNS服务器,作为域名被解析为IP 通过Host头告诉服务器访问的主机名 配置方式: 在server.xml文件中配置Host元素,需要指定name(主机名)、appBase(默认web应用存放目录) appBase目录下所有的web应用,tomcat会自动映射虚拟路径 \sohu\webapps"/> 做实验: 给新配置的虚拟主机配置缺省的web应用 \sohu\webapps"> \sohu\webapps\abc"/> 分析web资源访问过程 访问一个a.html静态web资源,IE做了什么事 1)将作为域名发送给DNS,解析成IP地址,访问一台服务器 2)发送Host头(),告诉服务器我要访问的虚拟主机,服务器拿着Host头找匹配的Host元素 3)将abc作为虚拟目录,告诉服务器我要访问的web应用,服务器拿着abc找匹配的web应用 4)将a.html作为资源名,告诉服务器我要访问的web资源,服务器拿着a.html去web.xml文件中找映射 虚拟目录对应是一个web应用的目录,所以虚拟目录也被我们称作web应用路径(web应用的上下文contextpath) 四、http协议 Web开发的基石 1.tcp/ip协议: 网络通信协议(连接) ip协议: 127.0.0.1ip地址对应一台计算机(互联网层) tcp高级协议: 三次握手,发送请求、返回响应、传输数据(传输层) 2.http协议是建立在tcp协议的基础之上(应用层) W3c制定的通讯协议,作用是规定了浏览器于服务器之间通讯的格式 3.Http协议的版本 Http1.0: 建立连接,发送一次请求就断开 Http1.1: 建立连接,可以无限次发送请求 五、http请求消息 Ie向服务器发送的内容 内容包括一个请求行、若干消息头、以及实体内容,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。 POST/itcast/HTTP/1.1 Accept: image/gif,image/x-xbitmap,*/* Referer: http: //localhost: 8080/itcast/ Accept-Language: zh-CN,en-GB;q=0.8,ar-YE;q=0.7,ja-JP;q=0.5,de-CH;q=0.3,en-US;q=0.2 Content-Type: application/x-www-form-urlencoded UA-CPU: x86 Accept-Encoding: gzip,deflate User-Agent: Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;GTB6.5;CIBA) Host: localhost: 8080 Content-Length: 33 Connection: Keep-Alive Cache-Control: no-cache Cookie: JSESSIONID=B0B3FB4FFB0315B3D3C620548DD4E1EB username=zhangsan&password=123456 1.请求行GET/itcast/a.htmlHTTP/1.1 GET为请求方式: get方式请求参数跟在url后面/itcast/a.html? username=aaa&password=111 Post方式: 请求参数放在消息体中传输,相对安全,get大小限制1K,post无数据量限制 2.请求消息头: IE浏览器用于向服务器说明情况的(浏览器环境) Accept: text/html,image/*说明浏览器接受的数据类型 Accept-Charset: ISO-8859-1说明浏览器使用的字符编码 Accept-Encoding: gzip,compress说明浏览器支持的压缩格式 Accept-Language: en-us,zh-cn说明浏览器的语言环境 Host: www.it315.org: 80说明浏览器要访问的主机名 If-Modified-Since: Tue,11Jul200018: 23: 51GMT文件的修改事件,用于做缓存 Referer: http: //www.it315.org/index.jsp说明请求来自哪里,防盗链(做实验) User-Agent: Mozilla/4.0(compatible;MSIE5.5;WindowsNT5.0)说明浏览器内核 Cookie向服务器发送Cookie Connection: close/Keep-Alive说明连接状态 Date: Tue,11Jul200018: 23: 51GMT客户端计算机时间 六、http响应消息 内容包括一个状态行、若干消息头、以及实体内容,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。 HTTP/1.1200OK Server: Apache-Coyote/1.1 Content-Type: text/html;charset=GB18030 Content-Length: 766 Date: Thu,07Jul201115: 40: 02GMT DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"> hello 1.状态行HTTP/1.1404NotFound 协议版本 状态码: 200(ok)302\307请求重定向,你访问我,我通知你访问另一个资源 304通知浏览器去读缓存404找不到资源500服务器程序出错 2.响应消息头服务器向浏览器说明情况(处理结果) Location: http: //www.it315.org/index.jsp通知浏览器去访问另一个资源 Server: apachetomcat说明服务器 Content-Encoding: gzip通知浏览器数据的压缩格式 Content-Length: 80通知浏览器发送数据的长度 Content-Language: zh-cn通知浏览器语言环境 Content-Type: text/html;charset=GB2312通知浏览器文件的格式和编码 Last-Modified: Tue,11Jul200018: 23: 51GMT告诉浏览器文件的修改时间 Refresh: 1;url=http: //www.it315.org通知浏览器自动刷新 Content-Disposition: attachment;filename=aaa.zip通知浏览器以下载的方式打开资源 Set-Cookie: SS=Q0=5Lb_nQ;path=/search发cookie Expires: -1//3种禁止缓存的头字段 Cache-Control: no-cache Pragma: no-cache Connection: close/Keep-Alive连接状态 Date: Tue,11Jul200018: 23: 51GMT系统时间 七、https协议 1.https是一种加密协议能保证数据的安全 2.不对称加密对称加密 3.https 1)制作数字证书 keytool-genkey-aliastomcat-keyalgRSA 2)将证书拷贝至tomcat\conf 3)修改server.xml文件配置https连接器 maxThreads="150"scheme="https"secure="true" clientAuth="false"sslProtocol="TLS" keystoreFile="conf\.keystore"keystorePass="123456"/> 4)重启服务器打开ie访问 https: //localhost: 8443 5)ie中安装证书 继续浏览 查看证书 安装证书 。 。 。 。 。 。 。 删除证书:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 04 tomcat 服务器 Http 协议