设为首页 收藏本站
查看: 711|回复: 0

[经验分享] HTTP 报文格式及apache配置文件简介

[复制链接]

尚未签到

发表于 2018-11-22 14:11:43 | 显示全部楼层 |阅读模式


一、http简介
http:hypertext transport protocol 超文本传输协议
Html:hypertext mark langguage :超文本标记语言
http协议的版本:
http/0.9: 1991,仅用于传输html文档
http/1.0: 支持多媒体数据的处理,keep-alive(保持连接),有缓存功能
http/1.1: 更多的请求方法,更精细的缓存控制,持久连接


二、HTTP报文
在客户端和服务器端进行通信的时候,通信双方在网络中发送请求和响应报文,双方的报文必须要遵循一定的格式相互发送。
http报文包括三个部分,起始行,首部字段和主体。
: 请求方法, 希望服务器端执行的动作,如GET、HEAD、POST等
: 请求的资源,可以是相对路径,也是完整的URL
:协议版本,格式HTTP/.,如http/1.0
:HTTP首部
: 状态码
:原因短语,数字状态码易读信息
: 主体部分1. 请求报文:request
报文格式:
  

2. HTTP响应:response
报文格式:
  

DSC0000.jpg
(图片摘自《HTTP权威指南》)
    还是举例验证一下吧,更加直观!
[root@station1 ~]# telnet 172.16.0.1 80
Trying 172.16.0.1...
Connected to 172.16.0.1.
Escape character is '^]'.
GET /centos6.repo http/1.1 --{客户端request#方法/请求目录/协议版本
Host: 172.16.0.1 -------------------------#主机ip
HTTP/1.1 200 OK ----------{服务器端response#版本/状态码/结果及原因
Date: Thu, 22 Aug 2013 13:01:44 GMT-------#日期
Server: Apache/2.2.15 (CentOS) -----------#服务器信息
Last-Modified: Sat, 17 Aug 2013 10:06:13 GMT
ETag: "20de6-12d-4e421db6ce2c1"
Accept-Ranges: bytes
Content-Length: 301
Connection: close
Content-Type: text/plain; charset=UTF-8
[base]------------------------------------#返回请求内容                                
name=CentOS $releasever $basearch on local server 172.10.0.1
baseurl=http://172.16.0.1/cobbler/ks_mirror/centos-6.4-$basearch/
gpgcheck=0
[epel]
name=Fedora EPEL for CentOS$releasever $basearch on local server 172.16.0.1
baseurl=http://172.16.0.1/fedora-epel/$releasever/$basearch/
gpgcheck=0
Connection closed by foreign host.

3. 请求发出后,服务器返回响应的同时也会返回响应状态码。
DSC0001.jpg


4. HTTP首部
      首部和方法配合工作,共同决定了服务器和客户端能做什么事情。
DSC0002.jpg
5. 一次web请求的基本过程是 C建立连接-->S接受请求-->S处理请求-->S访问资源-->S构建响应-->S发送响应-->S记录日志。其中接受请求的这一步web服务器有三种输入输出结构,分别是 单线程I/O结构、多线程I/O结构、复用的I/O结构(单个线程响应多个请求)、复用的多线程I/O结构(多个线程,每个线程响应多个请求)。






三、httpd配置文件


如果是rpm包安装的http,配置文件在/etc/httpd/conf/httpd.conf
l
102  -----------如果是perfork.c。则使用下边配置
103 StartServers       8----------启动时默认开启的进程数
104 MinSpareServers    5----------最小空闲线程数
105 MaxSpareServers   20----------最大空闲线程数
106 ServerLimit      256-----------最大活动进程数
107 MaxClients       256----------并发请求最大数
108 MaxRequestsPerChild  4000----每个子进程生命周期内所能服务的最大请求个数
109



l Httpd 是高度模块化设计的,方便动态的装载和卸载模块。
  http -M 命令可以查看已经装载的所以DSO和非DSO模块
http -l :列出支持使用的非DSO模块
[root@station57 ~]# httpd -M
Loaded Modules:
core_module (static)-----------------(static)非DSO模块
mpm_prefork_module (static)
http_module (static)
so_module (static)
auth_basic_module (shared)-------(shared)DSO模块
auth_digest_module (shared)
authn_file_module (shared)
.........如果我们不想使用某一个模块,只需要在配置文件中将其注释掉然后重启就可以了


  



  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-638320-1-1.html 上篇帖子: Apache服务器OpenSSL升级 下篇帖子: Apache的25个面试题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表