Web服务器与Http协议

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.mzph.cn/news/121996.shtml

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

相关文章

p5.js 视频播放指南

本文简介 在刚接触 p5.js 时我以为这只是一个艺术方向的 canvas 库,没想到它还支持视频文件和视频流的播放。 本文简单讲讲如何使用 P5.js 播放视频。 播放视频文件 p5.js 除了可以使用 video 元素播放视频外,还支持使用 image 控件播放视频。 方式1&…

【机器学习可解释性】2.特征重要性排列

机器学习可解释性 1.模型洞察的价值2.特征重要性排列3.部分依赖图4.SHAP Value5.SHAP Value 高级使用 正文 前言 你的模型认为哪些特征最重要? 介绍 我们可能会对模型提出的最基本的问题之一是:哪些特征对预测的影响最大? 这个概念被称为…

【C++】命名空间

目录 1 命名空间的引入 2 命名空间的定义 3 标准命名空间std 头文件和std的关系 4 命名空间的使用 4.1 加命名空间名称及作用域限定符:: 4.2 使用using将命名空间中某个成员引入(最推荐) 4.3 使用using namespace 命名空间名称 5 总结 1 命名空间的引入 为了解决C语言中…

ffmpeg的下载和编译(vs2022)

感谢大佬的二创,直接提供了sln编译 ffmpeg二创地址 创建如下目录 build存放代码(build最好改成source,因为作者这么建议,编译完才发现) msvc存放第三方依赖的头文件,这里固定叫msvc,因为大佬的sln里查找的路径是这个,不嫌麻烦也可以自己改 下载代码和编译器 下载源码…

自动驾驶之—2D到3D升维

前言: 最近在学习自动驾驶方向的东西,简单整理一些学习笔记,学习过程中发现宝藏up 手写AI 3D卷积 3D卷积的作用:对于2DCNN,我们知道可以很好的处理单张图片中的信息,但是其对于视频这种由多帧图像组成的图…

Node.js中的单线程服务器

为了解决多线程服务器在高并发的I/O密集型应用中的不足,同时避免早期简单单线程服务器的性能障碍,Node.js采用了基于"事件循环"的非阻塞式单线程模型,实现了如下两个目标: (1)保证每个请求都可以…

2023年系统设计面试如何破解?进入 FAANG 面试的实战指南

如果您正在准备编码面试,但想知道如何准备关键的系统设计主题,并寻找正确方法、技巧和问题的分步指导,那么您来对地方了。在本文中,我将分享 2023 年系统设计面试的完整指南。 在软件开发领域,如果您正在申请高级工程…

16、window11+visual studio 2022+cuda+ffmpeg进行拉流和解码(RTX3050)

基本思想:需要一个window11 下的gpu的编码和解码代码,逐开发使用,先上个图 几乎0延迟的,使用笔记本的显卡 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\extras\demo_suite>deviceQuery.exe deviceQuery.exe Starting...CUDA Device Query (Runtime API…

竞赛选题 深度学习图像分类算法研究与实现 - 卷积神经网络图像分类

文章目录 0 前言1 常用的分类网络介绍1.1 CNN1.2 VGG1.3 GoogleNet 2 图像分类部分代码实现2.1 环境依赖2.2 需要导入的包2.3 参数设置(路径,图像尺寸,数据集分割比例)2.4 从preprocessedFolder读取图片并返回numpy格式(便于在神经网络中训练)2.5 数据预…

Java工具库——Commons IO的50个常用方法

工具库介绍 Commons IO(Apache Commons IO)是一个广泛用于 Java 开发的开源工具库,由Apache软件基金会维护和支持。这个库旨在简化文件和流操作,提供了各种实用工具类和方法,以便更轻松地进行输入输出操作。以下是 Com…

openpnp - SlotSchultzFeeder source code bugfix

文章目录 openpnp - SlotSchultzFeeder source code bugfix概述笔记openpnp源码调试环境排查思路开git分支查到的问题 - 1查到的问题 - 2查到的问题 - 3针对以上问题进行的逻辑修正D:\my_openpnp\openpnp_github\src\main\java\org\openpnp\machine\reference\driver\wizards\G…

Linux下自动挂载U盘或者USB移动硬盘

最近在折腾用树莓派(实际上是平替香橙派orangepi zero3)搭建共享文件服务器,有一个问题很重要,如何在系统启动时自动挂载USB移动硬盘。 1 使用/etc/fstab 最开始尝试了用/etc/fstab文件下增加:"/dev/sda1 /home/orangepi/s…

从入门到精通:深入了解CSS中的Grid网格布局技巧和应用!

🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! ​ 目录 ⭐ 专栏简介 📘 文章引言 一…

论文阅读——GPT3

来自论文:Language Models are Few-Shot Learners Arxiv:https://arxiv.org/abs/2005.14165v2 记录下一些概念等。,没有太多细节。 预训练LM尽管任务无关,但是要达到好的效果仍然需要在特定数据集或任务上微调。因此需要消除这个…

Pytorch代码入门学习之分类任务(一):搭建网络框架

目录 一、网络框架介绍 二、导包 三、定义卷积神经网络 3.1 代码展示 3.2 定义网络的目的 3.3 Pytorch搭建网络 四、测试网络效果 一、网络框架介绍 网络理解: 将32*32大小的灰度图片(下述的代码中输入为32*32大小的RGB彩色图片)&…

【QT开发(17)】2023-QT 5.14.2实现Android开发

1、简介 搭建Qt For Android开发环境需要安装的软件有: JAVA SDK (jdk 有apt install 安装) Android SDK Android NDKQT官网的介绍: Different Qt versions depend on different NDK versions, as listed below: Qt versionNDK…

十五、城市建成区时空扩张分析——风向玫瑰图制作

一、前言 风向玫瑰图(简称风玫瑰图)也叫风向频率玫瑰图,它是根据某一地区多年平均统计的各个风向的百分数值,并按一定比例绘制,一般多用8个或16个罗盘方位表示,由于形状酷似玫瑰花朵而得名。 玫瑰图上所表示风的吹向,是指从外部吹向地区中心的方向,各方向上按统计数值…

13. 机器学习 - 数据集的处理

文章目录 Training data splitNormalizationStandardizedONE-HOT补充:SOFTMAX 和 CROSS-ENTROPY Hi, 你好。我是茶桁。 上一节课,咱们讲解了『拟合』,了解了什么是过拟合,什么是欠拟合。也说过,如果大家以…

SK海力士:将成为引领人工智能时代的定制型半导体存储器公司

AI芯片是一种专门针对人工智能应用设计的芯片,能够高效地处理人工智能任务,如机器学习、深度学习等。AI芯片具有高运算速度、低功耗、便于集成等特点,是人工智能领域的重要发展方向之一。 目前,AI芯片主要分为GPU、FPGA和ASIC三种…

Spark On Hive原理和配置

目录 一、Spark On Hive原理 (1)为什么要让Spark On Hive? 二、MySQL安装配置(root用户) (1)安装MySQL (2)启动MySQL设置开机启动 (3)修改MySQL…