> 文章列表 > Linux -- 进阶 Web 服务器 基础前瞻 ( 一 )

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

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

目录

WWW  简介 :

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

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

服务器主机 

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 请求服务器删除指定的页面
CONNECT HTTP/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 响应报文的响应头部信息里,它是一种文本标记,表示一种主要的

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