HTTP服务应用详解及相关配置
2013-08-26 22:04
537 查看
第一部分 HTTP服务应用详解一、HTTP协议简介
HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从Web服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。因此HTTP事务是由一个请求以及与其对应的响应报文组合起来的。 HTTP协议的主要特点:1、支持客户/服务器模式。2、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。3、灵活:HTTP允许传输任意类型的数据对象。4、无连接:无连接的含义是限制每次连接只处理一个请求。5、无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。二、HTTP服务的请求方法GET:客户端从服务器获取资源,客户端发出的为完整的请求。 PUT:客户端向指定资源位置上传其最新内容。 DELETE:请求服务器删除Request-URI所标识的资源。
HEAD:客户端仅请求响应首部,则服务器只返回响应的首部。
POST:向指定资源提交数据进行处理请求,如提交表单。
OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法。
TRACE:追踪一个资源请求中间所经过的代理。
三、HTTP协议的报文格式
1、起始行
2、首部:Host
3、主体
请求报文格式:Request
响应报文格式:Response
1、通用首部:请求和相应均可使用
If-Modified-since 控制缓存
If-none-match
②安全请求首部
Authorization 客户端提供给服务器的认证信息
cookie(cookie2) 追踪用户连接
3、响应首部
五、HTTP事务流程
① 建立连接
② 接受请求
③ 处理请求
④ 获取资源
⑤ 构建响应
⑥ 回送响应
⑦ 记录日志
第二部分 HTTP的相关配置
一、httpd软件的相关信息
1、服务脚本:/etc/rc.d/init.d/httpd
2、运行记录: /etc/httpd
3、配置文件
Ⅰ 主配置文件:/etc/httpd/conf/httpd.conf
Ⅱ 扩展配置文件:/etc/httpd/conf.d/*.conf
4、网页文件目录(DocumentRoot): /var/www/html
5、默认主页面:index.html
二、配置httpd的工作属性
1、指令不区分字符大小写,但一般情况下,单词的首字母大写;指令的值要区分大小写;有些指令可以重复使用多次。
2、配置文件的构成
Ⅰ 主服务器不能和虚拟主机同时启用
Ⅱ 全局配置:对主服务器或虚拟机都有效,且有些功能是服务器自身的工作属性
Ⅲ 主服务器:主站的属性
Ⅳ 虚拟主机:虚拟主机及其属性定义
3、配置文件的语法测试
大多数配置修改后,使用 service httpd reload 既能生效,而修改过监听的地址或端口的文件通常需要重启服务 service httpd restart 。
4、配置监听的端口和地址
三、配置所选的MPM(多道处理模块)
1、prefork: 一个进程响应一个请求,linux中默认使用
Ⅰ 绑定特权端口
Ⅱ 派发和回收子进程
Ⅲ 读取并分析主配置文件
2、worker: 一个进程生成多个线程,一个线程响应一个请求
3、event: 测试模式 (勿使用)
4、配置使用编译进不同的MPM的httpd 编辑配置文件 /etc/sysconfig/httpd
5、配置加载的模块
四、配置服务器支持 keep-alived
2)KeepAlive TimeOut
3)MaxKeepAliveRequests
五、配置站点的根目录
1、DocumentRoot ""
<Directory "FS_PATH">
</Directory>
UserDir Public_html
访问文件的配置文件及访问结果
2、<Location "URL">
</Location>
六、配置页面文件访问属性
七、配置日志功能
1、日志有两类:访问日志和错误日志,而访问日志的格式需要自定义
2、错误日志
3、访问日志
八、配置访问控制
1、基于客户端(IP)的访问控制
order:定义allow和deny哪一个为默认法则,写在后面的为默认法则,写在前面的指令没有显示定义的即受后面的指令控制。
2、基于用户的访问控制
九、配置虚拟主机
1、虚拟主机的类型
Ⅰ 基于端口的虚拟主机
Ⅱ 基于IP的虚拟主机
Ⅲ 基于主机名的虚拟主机
2、每个虚拟主机的定义
本文出自 “丿Sky 灬ONE PEICE” 博客,转载请与作者联系!
HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从Web服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。因此HTTP事务是由一个请求以及与其对应的响应报文组合起来的。 HTTP协议的主要特点:1、支持客户/服务器模式。2、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。3、灵活:HTTP允许传输任意类型的数据对象。4、无连接:无连接的含义是限制每次连接只处理一个请求。5、无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。二、HTTP服务的请求方法GET:客户端从服务器获取资源,客户端发出的为完整的请求。 PUT:客户端向指定资源位置上传其最新内容。 DELETE:请求服务器删除Request-URI所标识的资源。
HEAD:客户端仅请求响应首部,则服务器只返回响应的首部。
POST:向指定资源提交数据进行处理请求,如提交表单。
OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法。
TRACE:追踪一个资源请求中间所经过的代理。
三、HTTP协议的报文格式
1、起始行
2、首部:Host
3、主体
请求报文格式:Request
<method> <request-URL> <version> #请求方法 请求资源路径 所使用HTTP协议版本 <headers> #标题、头文件 <entity-boday> #实体主题
响应报文格式:Response
<version> <status> <reason-phrase> #版本 状态码 原因管理 <headers> #标题、头文件 <entity-boday> #实体主题四、HTTP的报文首部
1、通用首部:请求和相应均可使用
# connection 指定连接 # date 报文创建时间 # via 所经过的代理服务器2、请求首部:只能用于请求
# Host 所请求的主机 # Referer 提供的包含当前请求URI文档的URL # Accept 接受的MIME类型 # Accept-Charset 接受的字符集 # Accept-Encoding 接受的编码 # Accept-Lanague 告诉服务器能够发送哪些语言①条件请求首部
If-Modified-since 控制缓存
If-none-match
②安全请求首部
Authorization 客户端提供给服务器的认证信息
cookie(cookie2) 追踪用户连接
3、响应首部
# Age 响应时间 # Pulic 可存于公共缓存 # Server 服务器软件的名称及版本 # Vary 响应变化,会影响缓存 # Set-cookie(cookie2) 设定cookie4、实体首部
# Allow 允许的请求方法 # Location 资源的实际位置 # Content_Lanague 主体内容的语言 # Content_Location 主体内容所处的位置 # Content_Type MIME 主体内容类型 # Etag 实体标记 # Expires 过期缓存 # Last-Mofified 上次修改时间
五、HTTP事务流程
① 建立连接
② 接受请求
③ 处理请求
④ 获取资源
⑤ 构建响应
⑥ 回送响应
⑦ 记录日志
第二部分 HTTP的相关配置
一、httpd软件的相关信息
1、服务脚本:/etc/rc.d/init.d/httpd
2、运行记录: /etc/httpd
3、配置文件
Ⅰ 主配置文件:/etc/httpd/conf/httpd.conf
Ⅱ 扩展配置文件:/etc/httpd/conf.d/*.conf
4、网页文件目录(DocumentRoot): /var/www/html
5、默认主页面:index.html
二、配置httpd的工作属性
1、指令不区分字符大小写,但一般情况下,单词的首字母大写;指令的值要区分大小写;有些指令可以重复使用多次。
2、配置文件的构成
Ⅰ 主服务器不能和虚拟主机同时启用
Ⅱ 全局配置:对主服务器或虚拟机都有效,且有些功能是服务器自身的工作属性
Ⅲ 主服务器:主站的属性
Ⅳ 虚拟主机:虚拟主机及其属性定义
3、配置文件的语法测试
# service httpd configtest # httpd -t
大多数配置修改后,使用 service httpd reload 既能生效,而修改过监听的地址或端口的文件通常需要重启服务 service httpd restart 。
4、配置监听的端口和地址
# Listen [ IP: ] PORTsan
三、配置所选的MPM(多道处理模块)
1、prefork: 一个进程响应一个请求,linux中默认使用
Ⅰ 绑定特权端口
Ⅱ 派发和回收子进程
Ⅲ 读取并分析主配置文件
2、worker: 一个进程生成多个线程,一个线程响应一个请求
3、event: 测试模式 (勿使用)
4、配置使用编译进不同的MPM的httpd 编辑配置文件 /etc/sysconfig/httpd
5、配置加载的模块
# LoadModule foo_module modules/mod_foo.sosui
四、配置服务器支持 keep-alived
# KeepAlive {on|off} on 空闲时使用,off 繁忙时使用 # KeepAlive TimeOut 最多允许连接时间 # MaxKeepAliveRequests 每次最大的资源请求次数1)KeepAlive {on|off}
2)KeepAlive TimeOut
3)MaxKeepAliveRequests
五、配置站点的根目录
1、DocumentRoot ""
<Directory "FS_PATH">
</Directory>
# DocumentRoot " " 指定配置网页文件目录路径 # <Directory FileSystem_PATH> # </Directory >Userdir:让每个人都拥有个人站点:http://HOST/~username
UserDir Public_html
访问文件的配置文件及访问结果
2、<Location "URL">
</Location>
六、配置页面文件访问属性
# <Directory "FS_PATH"> # Options # Indexes 是否允许索引页面文件,建议关闭 # FollowSymLinks 是否允许跟随软连接 # ExecCGI 是否允许执行CGI脚本 # All # None
七、配置日志功能
1、日志有两类:访问日志和错误日志,而访问日志的格式需要自定义
2、错误日志
# ErrorLog "/path/to/error_log_file"
3、访问日志
# CustomLog /path/to/Custom_Log_File LOGTORMAT
八、配置访问控制
1、基于客户端(IP)的访问控制
order:定义allow和deny哪一个为默认法则,写在后面的为默认法则,写在前面的指令没有显示定义的即受后面的指令控制。
# Order allow,deny # Allow from All
2、基于用户的访问控制
# DocumentRoot " " # <Directory "/path/to/DocumentRoot_SUBDIR"> # Options None # AllowOverride 是否允许覆盖 # AuthName "Realm" 用户名称 # AuthType Basic 认证类型 # AuthUserFile /path/to/passwords 用户账号文件 # Require username 本账号允许登录的用户 # AuthGroupFile 用户组文件 # Require grpname 本账号允许登录的用户组 # </Directory>
九、配置虚拟主机
1、虚拟主机的类型
Ⅰ 基于端口的虚拟主机
Ⅱ 基于IP的虚拟主机
Ⅲ 基于主机名的虚拟主机
2、每个虚拟主机的定义
# <VirtualHost IP:PORT> 指定虚拟主机的IP、端口 # ServerName 指定虚拟主机的主机名 # DocumenRoot " " 指定虚拟主机的站点路径 # </VirtualHost>3、每个虚拟主机的单独配置
<VirtualHost IP:80> ServerName Document " " CustomLog ErrorLog <Directory ""> Options None AllowOverride Authconfig AuthName " " AuthType Basic Require Vaild-user </Directory> ScriptAlias /cgi-bin/ Alias </VirtualHost>
本文出自 “丿Sky 灬ONE PEICE” 博客,转载请与作者联系!
相关文章推荐
- 详解Nginx中HTTP的keepalive相关配置
- Linux入门之web服务(三)---httpd配置应用详解
- http服务配置/LAMP网站平台/PHP应用部署(Discuz!论坛系统
- 详解Nginx中HTTP的keepalive相关配置
- 详解Nginx中HTTP的keepalive相关配置
- 【初学菜鸟作--HTTP服务的安装及相关配置】*首页贴^_^*
- node.js http请求详解和配置服务目录
- Nginx(二):HTTP服务的相关配置
- Git的相关应用配置详解
- Nginx http服务相关的配置文件
- Nginx(二):HTTP服务的相关配置
- http服务详解(2)——httpd2.2的配置文件常见设置
- 详解Nginx服务器中HTTP Headers相关的模块配置使用
- 阿里云slb和ucloud负载均衡ulb添加ssl证书将http服务https化的配置详解
- 阿里云slb和ucloud负载均衡ulb添加ssl证书将http服务https化的配置详解
- SSH、VNC等相关服务配置及应用
- 部署安装PHP-5.3.28.tar.gz版本基本配置管理详解以及安装ZendGuardLoader模块优化PHP服务
- 大型企业网络配置系列课程详解(一)--OSPF单区域配置与相关概念的理解
- Spark 性能相关参数配置详解-任务调度篇