第3.38课 上课 HTTP协议, Tomcat服务器
3_38

HTTP协议
Tomcat服务器
Tomcat的下载和安装
1.Tomcat官网地址:http://tomcat.apache.org/index.html,如下图:

2.点击Download下的TomcatX.0版本

Tomcat目录结构
1.Tomcat目录结构:
|--bin:存放一些命令,例如:startup.bat、shutdown.bat。
|--conf:存放服务器的配置文件,例如server.xml。
|--lib :存放Tomcat里面的一些公共Jar包。
|--logs :日志文件夹
|--temp:临时文件夹
|--webapps:web应用所在目录
|--work:Tomcat的工作目录
注:logs、temp、work三个目录可以删除,tomcat启动的时候会自动创建。
2.最简单的部署应用的方式:复制web应用到webapps目录下。
3.webapps目录中包含一个ROOT文件夹,它表示一个根路径的WEB应用。当访问根路径的WEB应用时,不需要使用文件夹的名称。
Tomcat配置
配置JAVA_HOME环境变量
1.右键选中“我的电脑”。
2.点击“高级系统设置”。

3.点击“环境变量”按钮。

4.点击“新建”按钮。

5.输入变量名和变量值,然后点击“确定”即可。

修改端口



配置Tomcat内存
第一步:使用文本编辑器打开Tomcat目录下的bin/catalina.bat文件。
第二步:在文件最开始的地方加入:
set JAVA_OPTS=-Xms512m -Xmx1024m
-Xms:初始内存值
-Xmx:最大内存值
-Xmn:最小内存值
Eclipse中Tomcat服务器的配置
配置运行环境
修改上下文
修改端口号
配置Tomcat内存
第一步:点击Open launch configuration选项:

第二步:在Arguments分页的VM arguments中加入“-Xms256M -Xmx512M -XX:PermSize=256m -XX:MaxPermSize=512m”。

修改编码格式
添加和删除项目
HTTP协议
了解HTTP协议
1.HTTP是HyperText Transfer Protocol(超文本传输协议)的简写。它是基于请求与响应、无状态的一个应用层协议。

(TCP/IP模型)
2.URL格式
URL格式:protocol :// hostname[:port] / path / [?parameters]#fragment
http://www.baidu.com/index.html?loginName=admin&loginpassword=sadmin
protocol:协议名称,例如,http、ftp、file等;
hostname:主机名称,通常是一个IP地址或域名;
port:端口号,如果是80端口,可以不提供;
path:由零或多个“/”符号隔开的字符串,一般用来表示主机上的一个目录或文件地址;
parameters:请求参数,多个参数之间使用“&”符号隔开,每个参数的名和值用“=”符号隔开;
fragment:字符串,用于指定网络资源中的片断;
3.HTTP用于定义WEB浏览器与WEB服务器之间交换数据的过程。

Http通信的过程:
1)客户端与服务器建立连接;
2)建立连接后,客户端发送一个请求给服务器;
3)服务器接收请求后,给出相应的响应信息;
4)客户端接收服务器返回的信息,然后显示在页面上;
为什么要使用HTTP协议?
协商浏览器和服务器之间动作。
浏览器会告诉服务器,如何处理请求。
服务器处理以后,会告诉浏览器,如何处理结果(响应)。
HTTP请求
请求行与状态行
请求行:
GET /books/java.html HTTP/1.1
请求方法 请求路径 协议版本
状态行:
HTTP/1.1 200 OK
协议版本 状态码 状态描述
请求头
1.请求头的作用:告诉服务器要做什么。
2.请求头由多个名/值对组成,名和值之间用英文冒号分开。
3.请求头包含了以下一些常见的属性:

Host:主机名和端口,用于虚拟主机查询。匹配Tomcat的server.xml文件中的Host的name的值。
User-Agent:表示浏览器版本
Accept:可以接收内容类型
Accept-Language : 可以接收的语言类型
Accept-Encoding : 可以接收的编码类型,包含gzip表示可以用GZIP压缩算法,压缩响应消息。
Referer:表示访问该资源的来源页面
Cookie:由服务器生成保存在浏览器,每次浏览器访问服务器的时候都必须把该服务器生成的Cookie一起放到请求头发送
服务器完全没有办法控制浏览器,只能协商要求浏览器保存Cookie,并且告诉浏览器保存多久。
浏览器自动管理Cookie,如果发现Cookie过期了,自动删除。
Connection:告诉服务器Socket的连接策略,keep-alive表示希望服务器要保持连接不断开。
Cache-Control:缓存控制。
Pragma:Pragma头域用来包含实现特定的指令,最常用的是Pragma:no-cache,与Cache:no-cache相同。
常用的内容类型
text
text/html
image
image/jpeg(jpg = jpeg)
image/png
image/gif
application
application/javascript
请求正文(消息体)
HTTP 消息的消息体(如果存在),用于携带与请求相关联的数据。例如,可以存放一些请求参数等等。
HTTP响应
响应头
1.响应头的作用:告诉浏览器要做什么。
2.响应头由多个名/值对组成,每行一对,名和值之间用英文冒号分开。
3.响应头包含了以下一些常见的属性:

参数说明:
Content-Length:响应内容的长度,以字节为单位。
Content-Type:响应内容的编码格式,例如:text/html。
Content-Encoding:响应内容的编码,例如,gzip(告诉客户端,服务端发送的资源是采用gzip编码的,客户端看到这个信息后,应该采用gzip对资源进行解码)。
Date:服务器响应的GMT(格林尼治)时间,例如,Sun, 1 Jan 2000 01:00:00 GMT。
Expires:告诉客户端在这个时间前,可以直接访问缓存副本。
Server:服务器的版本信息。
Set-Cookie:设置和页面关联的Cookie。
Cache-Control:缓存策略。例如,no-cache(这个值告诉客户端,服务端不希望客户端缓存资源,在下次请求资源时,必须要重新请求服务器,不能从缓存副本中获取资源)。
Connection:服务器的连接策略。例如,keep-alive(这个值告诉客户端服务器的tcp连接也是一个长连接,客户端可以继续使用这个tcp连接发送http请求)。
常用响应状态
200 : 请求成功
301 : 重定向
304 : 表示内容没有变化,使用浏览器缓存中内容
404 : 找不到资源
500 : 服务器发生异常
如何通过浏览器查看HTTP请求
1.打开Chrome浏览器,点击“F12”。

2.Elements
1)Name:请求资源路径
2)Method:请求方法
3)Status:HTTP请求响应的状态
4)Type:MINE类型
5)Initiator:请求发起者,有4种可能
a)Parser:请求是由页面的HTML解析时发送的
b)Redirect:请求是由页面重定向发送的
c)Script:请求是由script脚本处理发送的
d)Other:请求是由其他过程发送的,比如页面里的link链接点击,在地址栏输入URL地址
6)Size:HTTP请求响应的大小
7)Time:发送请求到接收的响应之间所花费的事件,用毫秒ms表示
8)Timeline:时间线。鼠标悬停在时间线上面时候,可以显示整个请求各个部分花费的时间
2.点击”请求资源路径“可以查看详细的


HTTP和HTTPS的区别
HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议它是一个安全通信通道,它基于HTTP开发,也是用于在客户端和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,这表明所有的数据在传输过程中都是加密的。简单来说它是HTTP的安全版。
HTTPS的加密方式有2种:
1)对称加密:如DES、AES等。
2)非对称加密:如RSA、DSA等。
HTTPS和HTTP的区别:
1)HTTPS协议需要到ca申请证书,而HTTP不需要申请证书;
2)HTTP使用的是明文的传输方式,而HTTPS 则是使用具有安全性的SSL加密传输协议;
3)HTTPS比HTTP的安全性高;
浙公网安备 33010602011771号