04tomcat服务器和Http协议.docx

上传人:b****8 文档编号:29868197 上传时间:2023-08-03 格式:DOCX 页数:16 大小:165.50KB
下载 相关 举报
04tomcat服务器和Http协议.docx_第1页
第1页 / 共16页
04tomcat服务器和Http协议.docx_第2页
第2页 / 共16页
04tomcat服务器和Http协议.docx_第3页
第3页 / 共16页
04tomcat服务器和Http协议.docx_第4页
第4页 / 共16页
04tomcat服务器和Http协议.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

04tomcat服务器和Http协议.docx

《04tomcat服务器和Http协议.docx》由会员分享,可在线阅读,更多相关《04tomcat服务器和Http协议.docx(16页珍藏版)》请在冰豆网上搜索。

04tomcat服务器和Http协议.docx

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">

itcast.html

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">

MyJSP'index.jsp'startingpage

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中安装证书

继续浏览

查看证书

安装证书

删除证书:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 公共行政管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1