Web服务器与Http协议
一.Web服务器
1.简介
- Web服务器一般指网站服务器,也称之为WWW(World Wide Web)服务器
- Web服务器是指驻留于因特网上某种类型计算机的程序
- Web服务器不是硬件服务器,而是软件服务器。
- Web服务器其主要功能是提供网上信息浏览服务,可以向发出请求的浏览器提供文档,也可以放置网站文件,可浏览;还可以放置数据文件,可下载等
2.常见服务器
-
Tomcat(Apache):当前应用最广的JavaWeb服务器
-
JBoss(Redhat红帽):支持JavaEE,应用比较广EJB容器 –> SSH轻量级的框架代替
-
GlassFish(Orcale):Oracle开发JavaWeb服务器,应用不是很广
-
Resin(Caucho):支持JavaEE,应用越来越广
-
Weblogic(Orcale):付费!支持JavaEE,适合大型项目
-
Websphere(IBM):付费!支持JavaEE,适合大型项目
二.Tomcat服务器
1.Tomcat简介
- Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web 应用服务器。
- Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当公司运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
- 诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。Tomcat最新版本为10.0.23**。**
2.Tomcat的使用
(1)下载
- 官网:http://tomcat.apache.org/
(2)解压
(3)启动
- 双击 pache-tomcat-9.0.60\bin 文件夹下的 startup.bat
(4)测试启动成功
- 浏览器输入:
- http://localhost:8080
- http://127.0.0.1:8080
(5)关闭
- 关闭控制台
(6)端口号设置
- apache-tomcat-9.0.60\conf\server.xml 文件中
3.IDEA集成Tomcat与web模块
(1)IDEA 集成Tomcat
- 编辑 Configurations
- 添加 new Configuration
- 选择Tomcat位置
(2)创建web模块方式一
- 新建模块
- 项目结构
- 发布web模块到Tomcat–将Artifacts Del
- 发布web模块到Tomcat–将Artifacts Deployment 到Tomcat
- 测试 web模块发布成功
(3)创建web模块方式二
-
通过创建java模块来完成web模块的设置
-
先创建java模块,让后进行相关配置即可
-
Open Module Settings
- 添加jar包(Tomcat)
- 若index.jsp不存在,则新建一个
4.Tomcat启动控制台乱码
- 使用 -Dfile.encoding=UTF-8 解决
(1)vmoptions添加UTF-8
- 找到 options
- 添加 -Dfile.encoding=UTF-8
(2)setting 编码
(3)edit Configurations
三.Http协议
1.Http协议概述
- 超文本传输协议(Hypertext [Transfer Protocol](https://baike.baidu.com/item/Transfer Protocol/612755?fromModule=lemma_inlink),HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而 [9]消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。
- 浏览器与服务器之间的通信是非常短暂的,一次通信只能处理一个请求
- HTTP协议是一种无状态协议:不具备记忆效果
2.创建连接的三次握手
(1)第一次
- 浏览器问服务器:我们能连接吗
(2)第二次
- 服务器回到浏览器:能
(3)第三次
- 浏览器连接服务器