关闭

HTTP请求头域详解

标签: HTTPhead
91人阅读 评论(0) 收藏 举报
分类:

HTTP请求头域

host

host指定请求资源的Intenet主机和端口号,必须表示请求url的原始服务器或网关的位置。

1. host可以使域名也可以是ip地址
2. 使用固定的url会有各种麻烦,因为会有host头域攻击问题,所以一般程序中通过程序自定义。
3. 利用HTTP host头攻击的技术包括密码重置污染和缓存污染
4. HTTP/1.1中host字段可以为空,HTTP/1.0中可以确实host字段
5. HTTP/1.1请求必须包含host,不然系统会返回400状态码
6. 因为http响应中不包含host字段,所以wireshark中http.host过滤到的都是请求包

referer

referer允许客户端指定请求uri的源资源地址,这可以允许服务器生成回退链表。

1. referer可以记录访问的来源,统计访问量,可以用来防盗链
2. 如果指定的是部分uri地址,则该地址应该是相对地址

User-Agent

User-Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等

Cache-Control

Cache-Control指定请求和响应遵循的缓存机制。
  1. 请求时的缓存指令包括
    no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached
  2. 响应消息中的指令包括
    public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age
    在以下这些情况下这些指令的作用:
    1)打开新窗口
    值为private、no-cache、must-revalidate,那么打开新窗口访问时都会重新访问服务器,而如果指定了max-age值,那么在此值内的时间里就不会重新访问服务器.
    2)在地址栏回车
    值为private或must-revalidate则只有第一次访问时会访问服务器,以后就不再访问。
    值为no-cache,那么每次都会访问。
    值为max-age,则在过期之前不会重复访问。
    3)按后退按扭
    值为private、must-revalidate、max-age,则不会重访问,值为no-cache,则每次都重复访问。
    4)按刷新按钮
    1. 无论为何值,都会重复访问,Cache-control值为“no-cache”时,访问此页面不会在Internet临时文章夹留下页面备份
    2. 通过指定“Expires”值也会影响到缓存。例如,指定Expires值为一个早已过去的时间,那么访问此网时若重复在地址栏按回车,那么每次都会重复访问: Expires: Fri, 31 Dec 1999 16:00:00 GMT
    3. 禁止页面在IE中缓存
      http响应消息头部设置:
      CacheControl = no-cache
      Pragma=no-cache
      Expires = -1
    4. 如果服务器上的网页经常变化,可以把Expires 设置为-1,表示立即过期。如果一个网页每天凌晨1点更新,可以把Expires设置为第二天的凌晨1点。
    5. 当HTTP1.1服务器指定CacheControl = no-cache时,浏览器就不会缓存该网页
    6. 旧式 HTTP 1.0 服务器不能使用 Cache-Control 标题,为了向后兼容 HTTP 1.0 服务器,IE使用Pragma:no-cache 标题对 HTTP 提供特殊支持。

Date

Date头域表示消息发送的时间
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:597次
    • 积分:35
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档