Web服务器与Http协议

news2025/2/23 14:27:34

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)第三次

  • 浏览器连接服务器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1142411.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

论文阅读——BERT

ArXiv:https://arxiv.org/abs/1810.04805 github:GitHub - google-research/bert: TensorFlow code and pre-trained models for BERT 一、模型及特点: 1、模型: 深层双向transformer encoder结构 BERT-BASE:(L12, H…

2.19每日一题(分段函数求定积分)

注意:当x>1时需要分区间求定积分 用变上限积分的定理:如果 f(x) 连续,则 F(x) 的导数 f(x) 变上限积分的导数为 f(x) 1、先判断 f(x) 是否连续———>判断在分界点的值是否相等,相等则 f(x) 连续,则 F(x&#…

实体店做商城小程序如何

互联网电商深入各个行业,传统线下店商家无论产品销售还是服务业,仅靠以往的经营模式,很难拓展到客户,老客流失严重,同时渠道单一,无法实现外地客户购物及线上客户赋能等。 入驻第三方平台有优势但也有不足…

Java练习题2020-4

小明今天收了N个鸡蛋&#xff0c;每个鸡蛋各有重量&#xff0c;现在小明想找M个重量差距最小的鸡蛋摆成一盒出售&#xff0c;输出符合条件的最重一盒鸡蛋的总重量 输入说明&#xff1a;第一行&#xff0c;鸡蛋个数N(N<1000) 每盒个数M(M<N)&#xff1b;第二行&#xff0…

如何使用PHPicker在iOS系统无授权下获取资源

本文字数&#xff1a;2766字 预计阅读时间&#xff1a;18分钟 自iOS14系统开始&#xff0c;苹果加强了用户隐私和安全功能。新增了“Limited Photo Library Access”模式&#xff0c;同时在授权弹窗中增加了“Select Photo”选项。这意味着用户可以在应用程序请求访问相册时选择…

Unity编辑器扩展之自定义Inspector面板

首先找到的是这个[CustomEditor(typeof(Class), true)]&#xff0c;这个东西能够自己绘制在Inspector视图的显示规则&#xff0c;但是&#xff01;如果这个类被另一个类持有&#xff0c;他就没作用了&#xff0c; 效果图&#xff1a; 1.对CustomClass类编辑自定义面板 2. 对M…

为什么Facebook运营需使用IP代理?

随着互联网的快速发展和全球用户规模的不断增长&#xff0c;Facebook已成为了全球最大的社交媒体平台之一。然而&#xff0c;大批量地运营Facebook账号往往需要借助IP代理这一工具&#xff0c;提高账号的安全性和可靠性&#xff0c;使得运营Facebook更加流畅。那么Facebook为什…

QGIS008:QGIS拓扑检查、修改及验证

摘要&#xff1a;本文介绍使用QGIS拓扑检查器和几何图形检查器检查图层的拓扑错误&#xff0c;修改拓扑错误&#xff0c;并对修改后的图层进行错误验证。 实验数据&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1Vy2s-KYS-XJevqHNdavv9A?pwdf06o 提取码&#xff1a…

源码角度分析Java 循环中删除数据为什么会报异常

一、源码角度分析Java 循环中删除数据为什么会报异常 相信大家在之前或多或少都知道 Java 中在增强 for中删除数据会抛出&#xff1a;java.util.ConcurrentModificationException 异常&#xff0c;例如&#xff1a;如下所示程序&#xff1a; public class RmTest {public sta…

系统架构师-第10章-软件架构的演化和维护-学习笔记

软件架构一般会经历初始设计、实际使用、修改完善和退化弃阳的过程&#xff0c;其中修改完善的过程实际上就是软件架构的演化和维护过程&#xff0c;演化和维护的H 的就是为f 侦软件能够适应环境的变化而进行的纠铺性修改和完善性修改等。 软件架构演化和定义的关系 演化的重…

069:mapboxGL加载GPX,转换为geojson,显示图形

第069个 点击查看专栏目录 本示例是演示如何在vue+mapbox中加载GPX,转换为geojson,在地图上显示图形。这里面用到了大剑师的gpx2geojson插件,很方便的做了数据的转换。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果所用的gpx文件配置方…

【开源】基于SpringBoot的衣物搭配系统的设计和实现

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容2.1 衣物档案模块2.2 衣物搭配模块2.3 衣物收藏模块 三、系统设计3.1 用例设计3.2 E-R图设计3.3 数据库设计3.3.1 衣物档案表3.3.2 衣物搭配表3.3.3 衣物收藏表 四、系统实现4.1 登录页4.2 衣物档案模块4.3 衣物搭配模块4.4…

力扣每日一题79:单词搜索

题目描述&#xff1a; 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 单词必须按照字母顺序&#xff0c;通过相邻的单元格内的字母构成&#xff0c;其中“相邻”单元格…

25-什么是事件循环

一、是什么 &#x1f37f;&#x1f37f;&#x1f37f;JavaScript是一门单线程的语言、 意味着同一时间内只能做一件事&#xff0c;但是这并不意味着单线程就是阻塞&#xff0c;而实现单线程非阻塞的方法就是事件循环 在JavaScript中&#xff0c;所有的任务都可以分为 同步任…

C++学习 day--20 new和delete关键字

1、new 和 delete 基本语法 1 &#xff09;在软件项目开发过程中&#xff0c;我们经常需要动态地分配和撤销内存空间&#xff0c;特别是数据结构中结点的插入与删除。在 C 语言中是利用库函数 malloc 和 free 来分配和撤销内存空间的。C 提供了较简便而功能较强的运算符 …

Screenium for Mac: 重新定义屏幕录制体验

你是否曾经需要记录你的屏幕活动&#xff0c;但却被复杂的软件界面和功能缺失所困扰&#xff1f;现在&#xff0c;Screenium for Mac可以解决你的烦恼。这是一款全新的屏幕录制工具&#xff0c;以其强大的功能和易用性&#xff0c;让你的屏幕录制体验焕然一新。 Screenium for…

三十七、【进阶】验证索引的效率

1、准备工作&#xff1a; 创建一张表&#xff0c;该表中有一千万条数据&#xff0c;名为tb_sku&#xff1b; 2、使用主键查询&#xff1a; select * from tb_stu where id1\G; 3、使用非索引查询&#xff1a; 4、给sn字段创建索引&#xff1a; 在创建过程中&#xff0c;发现…

工业4.0的安全挑战与解决方案

在当今数字化时代&#xff0c;工业4.0已经成为制造业的核心趋势。工业4.0的兴起为生产企业带来了前所未有的效率和灵活性&#xff0c;但与之伴随而来的是一系列的安全挑战。本文将深入探讨工业4.0的安全挑战&#xff0c;并提供一些解决方案&#xff0c;以确保制造业的数字化转型…

FOC系列(二)----继续学习DRV8301芯片

一、 程序框图 跟随上篇博客咱们继续往下看&#xff0c;下面是芯片内部的程序框图&#xff1a; 1.1 BUCK电路 1.2 内部各电源 1.3 SPI通信、栅极驱动器和时序控制器 1.4 MOSFET驱动电路 1.5 电流采样放大电路 数据手册只是给出了这一部分框图&#xff0c;但是没有更加详细的介…

解锁高效检索技能:掌握MySQL索引数据结构的精髓

文章目录 磁盘存储假设每条sql信息为1kb&#xff0c;主键ID为bigint型&#xff0c;一颗高度为2&#xff0c;3&#xff0c;4高度的B树分别可以存储多少行数据?为什么选用B树做索引而不选用二叉树或者B树?1.减少IO次数2.稳定查询3.存储效率高 为什么用 B 树做索引而不用哈希表做…