原文

第1章  动态主机配置协议-DHCP

#更新系统
yum update -y

#关闭防火墙
systemctl stop firewalld.service

#开启默认关闭防火墙
systemctl disable stop firewalld.service

第7章 web服务-apache

7.1 web服务器学习指南

web服务器软件

7.2 http协议-HTTP介绍

http协议是一个TCP协议,采用B/S(browser/server)模型,用来传输数据(HTML文件、图片文件、查询结果等)【B/S模型:浏览器/服务器模型

相关术语:URL(统一资源定位符)、URI(统一资源标识符)

7.3 http协议-一次访问

HTTP访问基于四次请求:1、发起请求 请求头 2、接受请求 3、处理请求 4、响应请求 响应头

影响访问速度的因素有哪些:带宽(用钱解决)与延迟(传输距离)

虚拟主机可以通过ip或端口或http1.1的方式实现

HTTP1.1与HTTP2.0主要区别

多路复用

HTTP2.0使用了(类似epo)多路复用的技术,做到同一个连接并发处理多个请求,而且并发请求的数量比HTTP1.1大了好几个数量级当然HTTP1.1也可以多建立几个TCP连接,来支持处理更多并发的请求,但是创建TCP连接本身也是有开销的。TCP连接有一个预热和保护的过程,先检查数据是否传送成功,一旦成功过,则慢慢加大传输速度。因此对应瞬时并发的连接,服务器的响应就会变慢。所以最好能使用一个建立好的连接,并且这个连接可以支持瞬时并发的请求。

数据压缩

HTTP1.1不支持header数据的压缩,HTTP2.0使用HPACK算法对header的数据进行压缩,这样数据体积小了,在网络上传输就会更快

服务器推送

意思是说,当我们对支持HTTP2.0的web server请求数据的时候,服务器会顺便把一些客户端需要的资源一起推送到客户端,免得客户端再次创建连接发送请求到服务器端获取。这种方式非常合适加载静态资源。服务器端推送的这些资源其实存在客户端的某处地方,客户端直接从本地加载这些资源就可以了,不用走网络,速度自然是快很多的。

7.4 http协议-请求头和响应头

在开发者工具中可以看到、curl命令

7.5 http协议-请求方法和返回值

常见请求方法说明

GET: 请求指定的页面信息,并返回实体主体

HEAD : 只请求页面的首部。

POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体。

PUT : 从客户端向服务器传送的数据取代指定的文档的内容

DELETE : 请求服务器删除指定的页面。

OPTIONS: 允许客户端查看服务器的性能。

TRACE: 请求服务器在响应中的实体主体部分返回所得到的内容

PATCH:实体中包含一个表,表中说明与该URI所表示的原内容的区别

MOVE: 请求服务器将指定的页面移至另一个网络地址

COPY : 请求服务器将指定的页面拷贝至另一个网络地址。

LINK : 请求服务器建立链接关系

UNLINK : 断开链接关系。

WRAPPED:允许客户端发送经过封装的请求

常见状态码

状态代码

状态代码由3位数字组成,表示请求是否被理解或被满足。状态描述:

状态描述给出了关于状态代码的简短的文字描述状态代码的第一个数字定义了响应的类别,后面两位没有具体的分类第一个数字有五种可能的取值 :1xx: 指示信息一表示请求已接收,继续处理2xx:成功一表示请求已经被成功接收、理解、接受3xx:重定向一要完成请求必须进行更进一步的操作.4xx:客户端错误一请求有语法错误或请求无法实现5xx: 服务器端错误一服务器未能实现合法的请求

200 OK客户端请求成功

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

401 Unauthonzed 请求未经授权。这个状态代码必须和WWW-Authenticate报头域一起使用

403 Forbidden 服务器收到请求,但是拒绝提供服务。服务器通常会在响应正文中给出不提供服务的原因

404 Not Found 请求的资源不存在,例如,输入了错误的URL。

500 Internal Server Error 服务器发生不可预期的错误,导致无法完成客户端的请求

503 Service Unavailable 服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常。

7.6 apache介绍

发布Windows网站:IIS

发布PHP、Python等网站:Nginx、Apache、tengine、Lighttpd、

发布java、JSP网站:Tomcat、Resin、······

7.7 apache介绍-apache特点

1.支持最新的HTTP/2通信协议(2.4.17以后)

2.拥有简单而强有力的基于文件的配置过程

3.支持通用网关接口

4.支持基于IP和基于域名的虚拟主机

5支持多种方式的HTTP认证

6.集成Perl处理模块

7.集成代理服务器模块

8.支持实时监视服务器状态和定制服务器日志

9.支持服务器端包含指令(SSI)

10.支持安全Socket层(SSL)

11.提供用户会话过程的跟踪

12.支持FastCGl

13.通过第三方模块可以支持JavaServlets14.跨平台

7.8 apache部署-安装依赖包

apache部署流程

安装apr

APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支特接口库。在早期的Apache版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数。

安装apr-util工具包

apr-util该目录中也是包含了一些常用的开发组件。这些组件与apr目录下的相比,它们与apache的关系更加密切一些。比如存储段和存储段组,加密等等。

安装apr-iconv工具包

apr-iconv包中的文件主要用于实现iconv编码。目前的大部分编码转换过程都是与本地编码相关的
在进行转换之前必须能够正确地设置本地编码

下载、解压、安装、配置、编译、安装

gcc安装

ifconfig命令 ifconfig可设置网络设备的状态,或是显示目前的设置。

apache启动

apache测试

MPM

Tags:

No responses yet

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注