内置的status页面
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from IP
</Location>
http协议和httpd的配置
URL 统一资源定位符
URL方案 scheme
服务器地址 IP:PORT
资源路径
基本语法
<scheme>://<user>:<passwd>@<host>:<port>/<path>;<params>?<query>#<frag>
params 参数
query 查询
frag 片段
相对URL,相对本网站
绝对URL,跨站引用时使用
http协议
无状态,服务器无法持续追踪访问者来源
cookie来追踪同一个用户,第一次访问时,服务器会发送小数据给客户端,cookie有使用范围,客户再次访问服务器时会提交给服务器
关闭浏览器时,cookie的访问如果是敏感资源,则需要删除
胖cookie和瘦cookie的概念
服务器通过session关联到cookie
http事务
请求 request
响应 response
报文语法格式:
request报文
<method><request-URL><version>
<headers>
<entity-body>
response报文
<version><status><reason-phrase>
<headers>
<entity-body>
method 请求方法,表明客户端希望服务器对资源执行的动作
常用的有:GET HEAD POST
version
HTTP/<major>,<minor>
status
三位数字,响应状态码,请求过程中发生的情况
reason-phrase
状态码所标记的状态的简要描述
headers
首部,用来标记请求和响应的属性,每个请求或响应报文可包含任意个首部,每个首部都有名称,后面跟一个冒号,而后跟上一个可选空格,接着是一个值
entity-body:
有用的数据块,请求或响应附加的数据块,可能为空
method方法
GET 从服务器获取一个资源
HEAD 只从服务器获取文档的响应首部
POST 向服务器发送服务器要处理的数据
PUT 将请求的主体部分存储在服务器上(上传数据,一种危险的方法)
DELETE 请求删除服务器上指定的文档
TRACE 追踪请求到达服务器中间经过的代理服务器
OPTIONS 请求服务器返回对指定资源文件使用的请求方法
协议查看或分析工具
tcpdump,tshark,wireshark
status状态码
1## 100-101 信息提示
2## 200-206 成功类的信息
3## 300-305 重定向类状态码
4## 400-415 错误类信息,客户端错误
5## 500-505 错误类信息,服务器端错误
常用状态码
200,成功,请求的所有数据通过响应报文的entity-body部分发送,OK
301,请求的URL指向的资源已经删除,但在响应报文中通过首部Location指明了资源现在所处的新位置(永久重定向)
302,与301相似,但是在响应报文中通过Location指明资源现在所处的临时新位置(临时重定向)
304,客户端发出了条件式请求,但服务器上的资源未曾发生改变,则通过响应此响应状态码同志客户端
401,需要输入账号和密码认证方能访问资源
403,请求被禁止
404,服务器无法找到客户端请求的资源
500,服务器内部错误
502,代理服务器从后端服务器收到了一条错误的响应
headers
格式
Name:Value
首部的分类
通用首部
请求首部
响应首部
实体首部
扩展首部
通用首部
Date 报文的创建时间
Connection 连接方式,keep-alive 或者close
Via 显示报文经过的中间站点
Cache-Control 控制缓存的生效机制
Pragma 缓存相关的功能
请求首部
Accept 通知服务器自己能够接受的媒体类型
Accept-Charset 能接受的字符集
Accept-Encoding 接受编码格式,如gzip
Accept-Language 接受的语言
Client-IP 客户端地址
Referer 包含当前正在请求的资源的上一级资源
User-agent 客户端代理
条件式请求首部
Expect
If-Modified-Since 自从指定的时间后,请求资源是否发生修改
If-Unmodified-Since
If-None-Match 本地缓存中存储的文档的Etag标签是否与服务器文档的Tag不匹配
If-Match
安全请求首部
Authorization 向服务器发送认证信息,如账号和密码
Cookie 客户端向服务器发送cookie
Cookie2
代理请求首部
Proxy-Authorization 向代理服务器认证
响应首部
信息性
Age 资源的年龄和有效期限
Server 服务器软件程序名称和版本
协商首部 某资源有多种表示方法时使用
Accept-Range 服务器接受的请求范围类型
Vary 服务器查看的其他首部列表
安全响应首部
Set-Cookie 向客户端设置cookie
Set-Cookie2 向客户端设置cookie2
WWW-Authenticate 来自服务器的对客户端的质询认证表单
实体首部
Allow 列出对此资源可使用的请求方法
Location 告诉客户端真正的实体位于何处
Content-Encoding 内容编码格式
Content-Language 内容编码语言
Content-Length 内容编码长度
Content-Location 内容的实际位置
Content-Type 主机的对象类型
缓存相关
Etag 实体的扩展标签
Expires 实体的过期时间
Last-Modified 最后一次修改的时间