服务器概述

article/2025/9/23 21:03:14

1、什么是服务器?

服务器:分为服务器硬件和服务器软件。在硬件服务器(计算机)上安装服务器软件,才可以对外提供服务。
比如:让其他的计算机访问当前服务器,为其他的计算机提供服务。
(1)服务器硬件:是指在互联网上具有独立IP地址的计算机,比如我们自己用的计算机也可以作为服务器使用。
(2)服务器软件:就是一个计算机程序。比如Mysql服务器软件,tomcat服务器软件。服务器软件分为很多类型,比如:ftp服务器,数据库服务器,web服务器软件,邮件服务器等。

2、web服务器

(1)web服务器是指驻留在互联网上的某种类型的计算机程序。当浏览器访问服务器,请求服务器上的文件时,服务器将会处理该请求,并将请求的文件响应给浏览器,并会附带一些信息告诉浏览器如何查看该文件(即文件的类型)
(2)web服务器是可以向“发出请求的浏览器提供文档”的程序,比如在访问百度时,其实就是在访问百度服务器。

tomcat就是一个web服务器软件,是由apache组织提供的一款服务器软件,特点:小巧灵活,免费开源,简单易用。

在这里插入图片描述
在这里插入图片描述

3、tomcat服务器

(1)tomcat服务器运行需要jdk的支持,版本对应为:
tomcat7 需要jdk6以上支持
tomcat8 需要jdk7以上支持
tomcat9 需要jdk8以上支持
(2)启动/关闭tomcat服务器:
启动:tomcat根目录/bin/startup.bat
关闭:tomcat根目录/bin/shutdown.bat
访问:http://localhost:8080 / http://127.0.0.1:8080

tomcat服务器在启动时,默认监听的端口是8080,这意味着,我们在访问tomcat
服务器时,需要在主机名(localhost)或者IP地址(127.0.0.1)等后面加上端口。这
样非常不方便。
可以将 8080 端口改为 80 端口,因为80端口非常特殊,可以省略不写(只有80
端口可以省略,其他端口可在访问时必须得加上)
修改方法:找到 [tomcat安装目录]/conf/server.xml 文件并打开该文件,将文件中
的 69 行的 标签上的 port 属性的值改为 80即可。

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

改完后,保存文件,重新启动服务器(只有在服务器启动时,才会重新加载
server.xml文件)再次启动的服务器就会监听新的端口。

注:在启动tomcat服务器时,可能会遇到端口占用问题
情况一:可能是之前的tomcat服务器没有完全关闭,仍然在占用8080(或80)端口,导致服务器再次启动时,启动失败。
解决方式:运行shutdown.bat文件,将tomcat按照正常流程再关闭一次即
可。再次启动服务器,如果成功,则说明问题已解决,否则看情况二。
情况二:可能是其他程序占用了8080(或80)端口,导致服务器启动失败。
解决方式:打开一个cmd窗口,通过 netstat -ano 命令查看当前系统中活动
的进程,找到8080(或80)端口对应的进程编号(PID),根据进程编号将进程结束即可;netstat -ano taskkill /f /pid 6520

(3)tomcat目录结构
1、bin:用于存放tomcat服务器中批处理文件的目录(xx.bat/xx.sh)
2、 conf:用于存放tomcat服务器中的配置文件的目录(其中server.xml文件是tomcat 服务器中非常重要的一个文件。)
3、lib:用于存放tomcat服务器运行时所依赖的jar包。
4、logs:用于存放tomcat服务器运行时产生的日志文件(启动tomcat服务器时会打印很 多日志信息,这些日志信息还会以文件形式保存到logs目录下)
5、 temp:用于存放tomcat服务器产生的临时文件,tomcat会自己清理,可以忽略该目录
6、webapps:是localhost【虚拟主机】默认管理的目录,将开发好的【web应用】程序 放在webapps目录下,就可以通过浏览器访问localhost主机中的Web资源文件了。 可以简单的理解为:webapps目录就是web资源(html、css、js、图片、jsp等)的 存放目录,将web资源文件放在该目录下,就可以通过浏览器来访问。
7、 work:用于存放tomcat服务器产生的工作文件(JSP翻译后的Servlet文件会放在 work目录下;session对象序列化后产生的文件也会放在work目录下;)

4、虚拟主机和web应用

在这里插入图片描述
总结:
(1)虚拟主机就是tomcat服务器中配置的一个站点,在tomcat服务器中默认提供了一个localhost虚拟主机(server.xml文件中有配置),这个主机的发布目录是webapps目录:
在这里插入图片描述
这样意味着,将Web应用放在webapps目录下,就表示发布到了localhost虚拟主机中。
(2)Web应用就是一个存放了很多Web资源文件(html、css、js、jsp、 servlet、图片等)的目录,将Web应用发布到虚拟主机中,就可以通过浏览器来访问
Web应用中的这些资源文件了。

5、web应用

5.1. web应用的目录结构
news(目录,web应用)
|-- 其他目录, 放在news根目录或者其他目录中的资源文件,浏览器可以直接访问
|-- WEB-INF目录, 放在这个目录下的资源文件是受保护的,浏览器不能直接访问(不 是不能访问,是不能直接访问)
|-- classes目录, 用于存放编译后的class文件
|-- lib目录, 用于存放web应用所依赖的jar包 |
– web.xml文件, 用于存放和web应用相关的一些配置(配置Servlet、配 置主页、配置session的超时时间等)
其中news就是一个目录, 同时也是一个web应用程序, 其中可以包含很多的资源文件。
5.2. 部署web应用到虚拟主机中
直接将Web应用的目录拷贝到虚拟主机所管理的目录下,就发布到了虚拟主机中
例如:将news目录拷贝webapps目录下,由于webapps目录是localhost主机默认管理的目录,所以就相当于将news应用发布到 了localhost主机中。
通过如下路径规则就可以访问localhost主机下的news应用下的资源文件:http://localhost:端口/news/xxx

6、 配置WEB应用的主页

如果没有将 hello.html 配置为当前Web应用的主页,在访问 hello.html 时的路径为:http://localhost:8080/news/hello.html
如果将 hello.html 配置为当前Web应用的主页,再次访问 hello.html 时的路径为:http://localhost:8080/news

在上的路径中,/hello.html 这个路径可以加,也可以省略。
将 hello.html 配置为当前应用的主页,方式为:找到 [当前Web应用]/WEB- INF/web.xml文件并打开,在web.xml文件的根标签内部添加如下配置:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web- app_3_1.xsd" version="3.1"> 
<welcome-file-list>    
<welcome-file>/hello.html</welcome-file><welcome-file>/hello1.html</welcome-file><welcome-file>/hello2.html</welcome-file></welcome-file-list>
</web-app>

配置完后,需要重启服务器,配置才会生效。

7、 配置缺省的(默认的)WEB应用

上面已经将news/hello.html配置为news应用的主页,访问hello.html时路径为:h ttp://localhost/news/
如果不将 news 应用配置为默认的Web应用,在访问 news 下的 hello.html(主页)时的访问路径为:http://localhost:8080/news/
如果将 news 应用配置为缺省的(默认的)Web应用,在访问 hello.html(主页)时的路径就变成了:http://localhost:8080/
如何将 news 配置为缺省的(默认的)Web应用(缺省Web应用只能有一个)?:
将Web应用的名字改为一个大写的ROOT,当前Web应用就是一个默认的Web应用,再访问这个Web应用下的资源文件时,访问的路径中就可以不用写Web应用的名称了

8、HTTP协议概述在这里插入图片描述

HTTP协议是用于规定浏览器和服务器之间的通信方式/规则
主要规定了浏览器给服务器发送的请求信息的格式
以及规定了服务器给浏览器发送响应信息的格式
HTTP协议在工作时所遵循的基本原则:
(1)一次请求,只对应一次响应 (2)请求只能由浏览器发起,服务器只能被动的等待请求,根据请求作出回应。

8.1、http请求
在这里插入图片描述
8.1.1请求行 GET /news/hello.html HTTP/1.1
(1)GET:表示请求方式,在HTTP协议中一共定义了7种提交方式,但是我们只用GET和POST。
(2)/news/hello.html:请求资源路径,表示浏览器请求的是哪一个Web应用以及哪一个web资源文件。
(3)HTTP/1.1:请求所遵循的协议和版本。
8.1.2若干请求头
请求头都是Key-Value结构,例如:
在这里插入图片描述
Host:localhost – 通知服务器,浏览器要请求的是哪一台虚拟主机。 Accept:text/html, appliaction/xhtml+xml,… – 通知服务器,浏览器能 接收的响应数据类型。
8.1.3、请求实体内容
如果请求方式为 GET 提交,请求实体是没有内容的!
如果请求方式为 POST 提交,并且请求中携带了数据,请求实体中才会有内容!
8.2、http响应
在这里插入图片描述
8.2.1状态行
HTTP/1.1 200 OK
(1)HTTP/1.1:表示响应所遵循的协议和版本
(2)200:状态码,三位的数字,表示服务器对请求处理的结果。
200: 表示请求处理成功 302: 表示请求重定向(即需要再进一步请求才可以获取到相应的资源) 304/307: 表示通知浏览器使用缓存 404: 表示浏览器请求的资源不存在(浏览器的问题, 请求路径错误) 500: 表示服务器在处理请求的过程中抛出了异常。
(3)OK:描述短语(可以忽略),也表示服务器对请求处理的结果,和状态码表示的结果一致。
200:OK 404:Not Found 500: Internal Server Error

8.2.2若干响应行:也是key-value格式
Content-Type: 表示服务器响应的数据类型,text/html, image/*… Content-Length: 表示服务器响应数据的长度, 例如: 384 /字节 Set-Cookie: 和cookie技术相关的一个头, 后面会提到。

8.2.3响应实体内容
响应实体就是浏览器所请求文件的内容。例如:浏览器向服务器请求一个hello.html文件,服务器会找到hello.html文件,将文件的内容作为响应实体发送给浏览器。

8.3. 内容补充
1、问题1:请求方式什么时候是GET提交?什么时候是POST提交?
只有当使用表单(form),并且在表单上明确的通过method指定提交方式为POST时,请求方式才是POST提交,其他方式都是GET提交(AJAX除外)
思考:判断以下请求方式是GET还是POST? 2、问题2:GET提交和POST提交有什么区别?
主要区别体现在请求参数传输过程的不相同
GET提交:
将数据通过问号拼接在地址栏URL地址的后面,相对非常不安全。
将数据拼接在地址栏URL地址的后面,数据量是有限制的,通常不能超过
1KB或者4KB。 POST提交:(form) POST提交是通过请求实体将数据提交给服务器,不会显示在地址栏上,因
此相对更加安全。
POST提交通过请求实体提交数据,数据量理论上是没有限制的。
3、总结:
如果只是单纯做一个跳转,或者只是访问一个网页,请求中没有数据,都是
使用GET提交。
如果在请求中有数据,但数据量不大,并且数据没有隐私性,也尽量使用
GET提交。
如果在请求中有数据,数据量比较大或者数据较为隐私,此时推荐使用
POST提交,如果是提交文件,只能用POST提交。


http://chatgpt.dhexx.cn/article/dZRR6UNK.shtml

相关文章

服务器技术(三)--Nginx

Nginx介绍 Nginx是什么、适用场景 Nginx是一个高性能的HTTP和反向代理服务器&#xff0c;特点是占有内存少&#xff0c;并发能力强&#xff0c;事实上nginx的并发能力确实在同类型的网页服务器中表现较好。 Nginx专为性能优化而开发&#xff0c;性能是其最重要的考量&#xf…

2022年,服务器领域十大技术趋势

2020年&#xff0c;疫情的全球爆发对上半年服务器市场的出货量带来了不小的影响。但是随着下半年疫情逐渐得到控制以及数字化需求的激增&#xff0c;全球服务器市场呈现出非常不错的增长态势。 目前来看&#xff0c;服务器依然是数字化转型和云计算、互联网等技术发展基础&…

服务器端技术

简介&#xff1a; 服务器分为web服务器和应用服务器。Web服务器是离客户端最近的服务器&#xff0c;负责监听和处理HTTP请求。应用服务器比web服务器更靠近后端&#xff0c;主要处理复杂的业务逻辑和数据库的访问。 如果是静态资源&#xff08;例如HTML页面或图片&#xff09;…

云计算服务器技术概述

云计算服务器技术概述 概述 云主机也叫云服务器ECS (Elastic Compute Server)&#xff0c;是一种按需获取的云端服务器&#xff0c;提供高可靠、弹性扩展的计算资源服务&#xff0c;可以根据需求选择不同规格的CPU、内存、操作系统、硬盘和网络来创建云主机&#xff0c;满足个性…

什么是服务器 ?服务器常见的系统和技术有哪些?

就像他的名字一样&#xff0c;服务器在网络上为不同用户提供不同内容的信息、资料和文件。可以说服务器就是Internet网络上的资源仓库&#xff0c;正是因为有着种类繁多数量庞大内容丰富的服务器的存在&#xff0c;才使得Internet如此的绚丽多彩。 服务器的种类和功能: (1) WW…

“东数西算”下数据中心的液冷GPU服务器如何发展?

以云计算、大数据、人工智能、高性能计算、数据分析、数据挖掘等为首的新兴技术凭借其优越的便利性和稳定性开始为服务器市场带来新的生机活力&#xff0c;其中以GPU为首的AI服务器在一定程度上不仅重构现行的产业结构&#xff0c;也为整个市场带来了新的有效增量。那么服务器的…

服务器技术基础

服务器技术基础 服务器是计算机的一种&#xff0c;比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机&#xff08;如PC机、智能手机、ATM等终端甚至是火车系统等大型设备&#xff09;提供计算或者应用服务。服务器具有高速的CPU运算能力、长时间的可靠运行…

1、NetBIOS简介

“网络基本输入&#xff0f;输出系统” &#xff08;Network Basic Input/Output System, NetBIOS&#xff09;是一种标准的应用程序编程接口&#xff08;A P I&#xff09;&#xff0c;1983年由Sytek公司专为IBM开发成功。NetBIOS为网络通信定义了一种编程接口&#xff0c;但却…

NetBIOS初步了解

NetBIOS定义及作用 NetBIOS&#xff1a;是Network Basic Input/Output System的简称&#xff0c;一般指用于局域网通信的一套API。作用是为了给局域网提供网络以及其他特殊功能&#xff0c;系统可以利用WINS服务、广播及Lmhost文件等多种模式将主机名解析为相应IP地址&#xf…

BIOS 常用网站 (持续更新中)

UEFI 官网 下载UEFI/PI/ACPI 等SPEC Welcome to Unified Extensible Firmware Interface Forum | Unified Extensible Firmware Interface Forumhttps://uefi.org/ AMD资料 (需账号权限) 下载AMD芯片资料 Login – AMD DevHubhttps://devhub.amd.com/ Rw工具 OS下读取寄存…

更改netbios计算机名,NetBIOS主机名解析

原创]NetBIOS主机名解析 NetBIOS主机名解析主要使用其子协议NetBIOS Name Service协议来进行。 工作组&#xff1a;是网络中具有相同“Workgroup”名字的主机组成。用户可以修改此组名子加入另一个组。 属于同一个工作组的主机才能相互通告主机名&#xff0c;不同的工作组之间不…

浅谈netbios

Netbios想必大家都有接触。对于netbios的理解&#xff0c;我以前有很多困惑&#xff0c;不知道如何掌握这些知识点&#xff0c;这几天通过了一段时间的实验和学习&#xff0c;有了一些体会&#xff0c;和大家一起分享。 阅读本文&#xff0c;你可以了解到以下内容 ◆netbios的…

NetBIOS 计算机名称命名限制

本文告诉大家对于 NetBIOS 的命名的限制 长度限制 最小长度是 1 最长长度是 15 因为默认是 16 字符&#xff0c;但是微软使用最后一个字符作为后缀 可以使用的字符 可以使用英文和数字 abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789可以使用下面的符号…

NetBIOS名字解析过程

当我们在开始->运行中打入UNC名, 即 //computername 时,就开始了下面的查找...... 同理,我们用net use x: //computername/share name 也是一样的

winxp 更改计算机名,winxp netbios计算机名修改方法【图文】

在winxp盘系统局域网内部使用NetBIOS协议可以方便地实现消息通信及资源的共享&#xff0c;不同NetBIOS名称都配置成一个唯一的(专有的)名称或组(非专有的)名。今天系统盒小编将给大家分享的是修改netbios名的方法。netbios名原本和计算机名是一样的&#xff0c;但由于一些特殊情…

NetBios协议

NetBIOS是Network Basic Input/Output System的缩写,严格来说它不是一个网络协议&#xff0c;而是一套API,为局域网内应用程序通信提供会话层&#xff08;OSI七层参考模型&#xff09;的支持。 NetBIOS有三种不同的实现分别为&#xff1a;NetBIOS Framse(NBF)协议&#xff1b;N…

计算机名与netbios名

问题:"网上邻居"中打不开工作组的其它计算机,其它的计算机也不能防问此电脑。 症状&#xff1a;在“网上邻居”中显示的不是计算机的名称&#xff0c;而是IP地址。 知识:网络上传输识别只认netbios名,计算机名为本地计算机的名称,如果netbios名和计算机名不相同的话,…

更改netbios计算机名,修改你计算机的Netbios名

首先和大家说一下&#xff0c;计算机名也就是我们常说的主机名&#xff0c;如下图 上图中的XP1即为计算机名&#xff0c;而今天我们要谈的是netbios名&#xff0c;简要的说&#xff0c;netbios名是在win98这样的系统下用于标示计算机的&#xff0c;在现行的一些操作系统中&…

NetBIOS

作者&#xff1a;sparkdev 出处&#xff1a;http://www.cnblogs.com/sparkdev/ 利用 NetBIOS 名称与其他计算机通信 网络中的计算机之间必须知道IP地址后才能相互通信。但对人来说IP难以记忆&#xff0c;NetBIOS计算机名称比较容易记忆。当计算机使用 NetBIOS 名称与其他计算…

VM中安装虚拟工具Vmware tools

启动vmware workstation软件&#xff0c;运行ubuntu虚拟操作系统&#xff0c;登陆进入ubuntu桌面。选择“虚拟机”->“安装vmware tools”VMware tools 双击桌面的“vmware tools”,打开vmware tools安装介质。右键选择vmwaretools的gz压缩包&#xff0c; 将该文件复制到te…