Linux -- 进阶 Web 服务器 基础前瞻 ( 一 )

news2024/11/16 4:30:23

目录

WWW  简介 :

组件一个网站得需要哪些东西呢 ??

1 得有 响应用户申请网页服务 的软件

2  服务器主机 

3  那就需要数据了 

4. 浏览器 

预备知识 :

网址及HTTP 简介 : 

URL :

http 请求方法 : 

状态代码 :  

HTTP 报文  :

MIME  ( 了解 即可 )


WWW  简介

 Web网络服务 即 WWW (World Wide Web  全球信息广播),也称万维网服务~!!

一般是指能够让用户通过浏览器访问到互联网中文文档等资源的服务 ; 说白就是,我们平时所称

的上网 ~!! ( 即 使用 www  来查询用户所需要的信息 ) 

( 主要是 通过浏览器输入 URL地址 或 输入域名 来访问对方服务器上网页资源的一种服务) 

  这是一种被动的访问服务( 就是说,只需要把自己的机子准备好,相关的网页上传好,服务器搭

 建好,配置好。然后就等对方来访问就行~!!)

组件一个网站得需要哪些东西呢 ??

1 得有 响应用户申请网页服务 的软件

    就是别人输了一个网址,发给你之后,那你得有一个软件来被动的监听它,当用户传过来之后,

    我要把我的网页再传给用户,即是说,得有一个响应用户申请网页的软件。

    这个软件呢也叫作  Web服务程序 。

    常用的 Web服务程序 有 :

    IIS  (  适用于 Windows )

     NGINX   

     Apache  ( 用于Web 静态网站多一点 ) 

     tomcat  

服务器主机 

    你总得把 网站部署到 机子上呀--就是服务器 

    那这机子在哪呢??  

    这服务器主机 其实,也就是我们俗称的 机房。

    对于 网站来说,那 服务器的作用就是 存放网页源代码并将网页内容展示给用户~!!

    

    服务器呢主要分两种 :

    一种叫 :  塔式服务器  ( 适用于 小型业务 )

    一种叫 :  刀片式服务器 ( 大型商务作业 )

     那怎么就得到这个服务器呢?

     最简单的那就是你直接买一个服务器( 当然了,很贵的,你买不起 )

     最常用的就是 上云,用云服务器 ( 去买 云服务器,例如 阿里云  )

那就需要数据了 

    就是你网站里的内容,那当然了,一个网站里肯定得有内容啊,不然,打开网站里面啥都没有

    那成啥了???

    所以,我们搭建网站还需要的元素就是 数据了。

    服务器所提供的最主要数据就是 超文本标记语言(即 HTML ) 多媒体文件(图片、影像、声

    音、文字等,都属于多媒体或超媒体 )  

    HTML 只是一些纯文本数据,通过所谓的标记来规范所要显示的数据格式 ~!!

4. 浏览器 

    好的浏览器能快速解析并浏览相关内容~!!

    客户端收到浏览器的数据之后需要软件解析服务器所提供的数据,

    最后将效果呈现在用户的屏幕上。 

    

预备知识

      

网址及HTTP 简介 : 

Web 服务器提供的这些数据大部分都是文件,那么我们需要在服务器端先写将数据文件写好,并

且放置在某个特殊的目录下面,这个目录就是我们整个网站的首页。

在 redhat 中,这个目录默认在 /var/www/html  。

浏览器是通过你在地址栏中输入你所需要的网址来取得这个目录的数据的~!!

URL :

 官方 统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是

             互联网上标准资源的地址。  

             为了更加具体形象,那截张图 就会明白这个 URL 是啥了 

             ===>>>

             

             这就是 URL  

网址格式 :   < 协议 > : // < 主机或主机名 > [ : port ] /<目录资源,路径>** 

协议 :    http 超文本传输协议,运行在应用层)、

                      *  所有 WWW 文件都必须遵循这个标准, 现在流行 http 的版本就是 2.0版本。

                   

                      *  它是建立在 TCP 上的一种无状态连接。

                       ( 无状态连接就是 这次连接和上次连接没有必然的联系)

                       

                     *   整个基本的工作流程是客户端发送一个  HTTP 请求,说明客户端想要访问资源和

                         请求动作, 服务端收到请求之后,服务端开始处理请求,并根据请求做出响应的

                         动作访问服务器资源,最后通过发送 HTTP 响应把结果返回给客户端。 

                         其中一个请求的开始到一个响应的结束称为事务~!!

                         当一个事务结束后还会在服务端添加一条日志条目。 

               

           https 加密传输的超文本传输协议)  ==> http + ssL 

                ftp上传下载协议  ) 

主机地址或者主机名 : 主机地址就是服务器在因特网所在的IP地址。 如果是主机名的话,那么就

                                      需要域名解析了~!!

端口号 : http --- 80           https ---- 443     ftp --- 20 / 21 

               *  0-1023  :  永久地分配给固定的应用程序使用 

               *  1024-41951 : 注册端口,但要求不是特别严格,分配给程序注册为某应用使用 

               *   41950-60000 : 客户端程序随即使用的端口,动态端口,或私有端口 。 

http 请求方法 : 

     在 http 通信中,每个http 请求报文都包含一个方法,用以告诉Web 服务器端需要执行哪些具

    体的动作,这些动作包括 : 获取指定 web 页面,提交内容到服务器,删除服务器上资源文件等

      ( 就是 告诉 Web服务器 需要做什么样的事情 )   

     

那都有哪些方法呢 ??

      ===>>>

方法描述
GET          请求指定的页面信息,并返回实体主体
HEAD类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
POST向指定资源提交数据进行处理请求(例如 : 提交表单或者上传文件 ) 数据被包含在请求体中,POST请求可能会导致新的资源的建立 或 已有资源的修改
PUT从客户端向服务端传送的数据代指定的文档的内容
DELETE请求服务器删除指定的页面
CONNECTHTTP/1.1协议中预留给能将连接改为管道方式的代理服务器
OPTIONS允许客户端查看服务器的性能
TRACE回显服务器收到的请求,主要用于测试或诊断 
PATCH                是对 PUT 方法的补充,用来对已知资源进行局部更新

                     GET  和 POST 的区别 ???? 

                     ===>>>

                      1. 表现形式上 

                          GET 是通过 URL ,而 URL 是直接在地址栏,是暴露出来的~!

                          POST 是通过 请求体, 是不容易看见的; 相对较为安全 。  

                      2. 功能上 

                          GET 是用来获取服务器上的某些资源,它只是获取某些资源,因此,GET 它

                          不会对 服务器上的内容 进行修改 。

                          POST  它是提交的方式,所以, POST存在对服务器上的内容有修改的可能。 

                      3. 长度上 

                          当发送数据时,GET 方法是向 URL  添加数据的,而 URL 的长度是受限制的,

                          URL 的最大长度是 2048 个字符。

                          而 POST 方法发送数据是不向 URL  发送的,它是把数据放在一个叫 请求体里的

                          因此,导致 POST 的长度是无限制的~!!!

状态代码 :  

       官方 : 由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值 

                    1xx : 指示信息 -- 表示请求已接收,继续处理 

                    2xx : 成功 -- 表示请求已被成功接受,理解。

                    3xx :  重定向 -- 要完成请求必须进行更进一步的操作 

                    4xx : 客户端错误 -- 请求有语法错误或请求无法实现 

                    5xx : 服务器端错误 -- 服务器端未能实现合法的请求 

    

      常见状态码 : 

              *  200 OK : 客户端请求成功 

              * 400 Bad Request :  客户端请求有语法错误,不能被服务器所理解 

              * 401 Unauthorized : 请求未经授权,这个状态代码必须和 WWW-Authenticate 报头域一

                                                  起使用 。 

              * 403 Forbidden :  服务器收到请求,但是拒绝提供服务 

              * 404 Not Found : 请求资源不存在,举例 : 输入了错误的 URL 

              * 500 Internal Server Error : 服务器发生不可预期的错误 

              * 503 Server Unavailable :  服务器当前不能处理客户端的请求,一段时间后可能恢复正常

HTTP 报文  :

官方 : http 报文中有很多行内容,这些行的文字端内容都是一些 ASCLL 码串组成,但各个字段

            的长度是不同的 ~! 

分类如下 : 

              请求报文 : 从 Web 客户端发往 web 服务器的 http 报文,由请求行,请求头部,空行和

                                 请求报文主体几个部分组成 。 

                                 

 

                          

               响应报文 : 从 Web服务器发往 Web客户端的报文,由起始行、响应头部,空行和响应

                                   报文主体这几个部分组成 。 

                                   

                                

 

   总结 格式 如下 :                       

 

                                   

 

MIME 了解 即可

官方 :  多用途因特网邮件扩展~! 

              最初是为了解决在不同的电子邮件系统之间搬移报文时存在的问题。后来 http 也支持了

              这个功能,用它来描述数据并标记不同的数据内容类型 ~!!

注意 : 

       *   Web服务器响应 http 请求时,会为每一个 http 对象数据加一个 MIME 类型; 当 Web浏览

            器获取到服务器返回的对象时,会去查看相关的 MIME 类型,并进行相应处理 。 

      *   MIME 类型存在于 HTTP 响应报文的响应头部信息里,它是一种文本标记,表示一种主要的

          对象类型和一个特定的子类型 ~!! 

     

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

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

相关文章

关于使用云渲染的五大优势

在不影响质量或性能的情况下节省时间、金钱和资源&#xff0c;对于需要在通常较短且严格的期限内创建高质量 3D 内容的专业人士来说&#xff0c;云渲染都是最好的选择&#xff01;云渲染作为数字媒体生产的最新趋势&#xff0c;与传统的渲染农场和机器相比具有许多优势&#xf…

每个程序员都应该知道的 5 个基本 Matlab 提示和技巧

当今软件开发和数据分析领域中&#xff0c;Matlab 是一种十分常用的工具。然而&#xff0c;对于许多程序员而言&#xff0c;它的高级特性可能并不为人所知。在本文中&#xff0c;我们将分享每个程序员都应该知道的 5 个基本 Matlab 提示和技巧&#xff0c;以帮助你更好地使用这…

【红队APT】反朔源流量加密CSMSF证书指纹C2项目CDN域前置

文章目录背景交代&#xff1a;常见红蓝对抗中红队面临问题&#xff1a;蓝队发现处置情况&#xff1a;NC-未加密&加密后-流量抓包对比MSF-流量通讯特征修改-证书-openssl解决HTTPS-SSL通讯证书被特征标示问题impersonate_ssl模块CS-流量通讯特征修改-证书指纹-keytool1.修改…

【C++】哈希的应用——bitset(STL)位图

哈希的应用——bitset(STL)位图 文章目录 哈希的应用——bitset(STL)位图一、bitset的介绍1.位图的引入2.位图的概念3.位图的应用 二、bitset的使用1.bitset的构造方式2.bitset成员函数的使用3.bitset运算符的使用 三、bitset位图的模拟实现1.位图的基本框架2.成员函数2.1.构造…

【Linux】进程学习(1)---理解进程概念

文章目录 冯诺依曼体系结构理解冯诺依曼体系结构 操作系统概念与定位概念计算机管理模型计算机的软硬件体系结构图系统调用和库函数概念 进程基本概念描述进程--PCBtask_struct内容分类组织进程 冯诺依曼体系结构 数学家冯诺依曼提出了计算机制造的三个基本原则&#xff0c;即采…

gnome换回纵向切换工作区

效果&#xff1a; 思路 最新的debian / ubuntu中用的gnome 4.x&#xff0c;工作区切换变成了左右切换&#xff0c;习惯了上下&#xff0c;真的很不舒服。 而且优化选项里也把设置开关取消掉了&#xff0c;解决方案是使用Vertical overview这个扩展&#xff1a; ## 安装扩展管…

5.1 大数定律

我的理解&#xff1a; 大数定律的基本思想是&#xff1a;当我们有足够的样本数量时&#xff0c;样本的平均值可以相对准确地估计总体的平均值。这是因为随着样本数量的增加&#xff0c;样本平均值的波动会逐渐减小&#xff0c;从而趋向于总体平均值。 我们可以通过一个简单的…

rk3568-rk809电池电量计

简介&#xff1a; RK809 集成在RK3568上的一个高性能的 PMIC&#xff08;(Power Management IC):电源管理集成电路&#xff09;&#xff0c;PMIC全称Power management integrated circuit&#xff0c;一般情况下是一颗独立于主控的芯片&#xff0c;集成了电源控制&#xff0c;电…

Docker源码阅读总结

Docker总架构图 客户端-服务器架构以及请求的发送&#xff0c;解析等原理不再赘述&#xff0c;这不是我们学习docker的重点。我们知道&#xff0c;Docker提供给了我们一个在隔离环境中运行的进程&#xff0c;那么我其实想深入探究的是 容器的网络是怎么在这个隔离的环境中与其…

【花雕学AI】如何避免ChatGPT封号,安全稳定地使用ChatGPT的技巧和简单过渡办法

虽然ChatGPT 目前已经不是测试期了&#xff0c;它在 2021 年 11 月正式推出&#xff0c;并且在 2021 年和 2022 年后进行了多次更新&#xff0c;提升了真实性和数学能力等方面。但是&#xff0c;ChatGPT 的运算压力仍然很大&#xff0c;因为它需要处理海量的数据和请求&#xf…

ASUS ZenBook Duo 14 UX481电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网&#xff0c;转载需注明出处。&#xff08;下载请直接百度黑果魏叔&#xff09; 硬件型号驱动情况 主板ASUS ZenBook Duo 14 UX481 处理器• Intel Core i7-10510U • Intel Core i5-10210U 已驱动 内存Internal 4GB 2666 Changeable 8GB 2666 mem…

【WCH】CH32F203基于硬件I2C + SSD1306 OLED跑图形库

【WCH】CH32F203基于硬件I2C SSD1306 OLED跑图形库 &#x1f388;基于STM32图形库开源项目地址&#xff1a;https://github.com/hello-myj/stm32_oled&#x1f4cc;相关篇《【WCH】CH32F203硬件I2C驱动SSD1306 OLED》&#x1f4cd;《【WCH】CH32F203软件I2C驱动SSD1306 OLED》…

CountDownLatch背后的原理

前言&#xff1a; 在日常工作中常用到多线程&#xff0c;如果使用多线程处理那么就要考虑同步问题&#xff0c;一般我们会考虑使用加锁来解决。但是还有一些场景&#xff0c;如下&#xff1a; 场景&#xff1a;小升初考试&#xff0c;考生做题&#xff0c;监考老师要等待所有考…

论文阅读【2】-SepViT: Separable Vision Transformer论文结构漫谈与Python实现测试

可分离卷积ViT实现轻量级transformer结构1. 论文主要工作1.1 摘要内容1.2 写作动机&#xff08;Motivations&#xff09;1.2.1 Transformer Patch结构的巨大计算量问题1.2.2 Swin&#xff1a;针对计算量的优化1.2.3 Twins&#xff1a;针对边缘端部署优化1.2.4 Cswin&#xff1a…

【c#串口通信(2)】串口相关参数介绍

1、端口号&#xff08;Port&#xff09; 我们使用一个串口的时候&#xff0c;首先是要打开这个串口&#xff0c;那么我们怎么知道电脑上现在支持几个串口呢&#xff1f;对应的端口号又是什么呢&#xff1f; 由于我的电脑系统是window11&#xff0c;下面就以window11为例介绍如…

部分国产水文水动力模型介绍

一、HydroMPM模型 1、模型介绍 2016年度自立项目HydroMPM系统开发与集成完成的洪水分析模拟软件等成果经权威专家鉴定整体达到国际领先水平&#xff0c;HydroMPM_FloodRisk入选国家防总《全国重点地区洪水风险图编制项目可选软件名录》。成果应用项目100余项&#xff0c;累计…

spring自定义命名空间

命名空间 如果你曾经在配置datasource是用过properties文件储存我们的数据库连接信息&#xff0c;那么一定在xml文件中配置过这样的语句。 <context:property-placeholder location"classpath:jdbc.properties"/>而我们的spring当中很明显是没有这个context的…

【git】git的一些基础操作

文章目录一.git下载二.git初次操作1.生成公钥2.修改全局用户名和邮箱地址&#xff1a;3.本地仓库关联远端仓库4.本地初始化5.将项目上所有的文件添加到本地仓库6.提交到本地仓库7.创建main分支8.推送到main分支三.git其他操作1.develop分支2.查看分支3.切换分支4.查看分支历史一…

python wannier90 基于wannier90的*_hr.dat文件选取截断hopping绘制能带图

我们知道wannier90可以根据选取TMDs的轨道信息生成详细的hopping energy *_hr.dat文件&#xff0c;选取所有的hopping绘制起来的时候比较简单&#xff0c;但是我们发现取几圈的近似hopping也可以将band表示出来&#xff0c;类似的思想有Pybinding的三带近似&#xff08;DOI: 10…

区块链技术在软件开发中的应用

如果你是一名软件开发者或者IT从业者&#xff0c;你一定已经听说过区块链技术。区块链是一种基于密码学的分布式账本技术&#xff0c;被广泛应用于数字货币、金融、物联网等领域。但是&#xff0c;除了这些领域之外&#xff0c;区块链技术还可以在软件开发中发挥重要作用。本文…