zoukankan      html  css  js  c++  java
  • 关于http头

    默认情况下,请求代码中不设置任何header,则响应头由服务器的一些默认配置来返回,而这些默认设置是是实现基本服务器运转的一些指令。

    Connection keep-Alive: 表示是否需要持久连接。由服务中的KeepAlive指令控制
    Content-Length:有服务器自动计算,用于实现持久连接
    Content-type :这个由请求的文件类型决定,默认配置时服务器中的DefaultType text/plain
    Date:当前的GMT时间。你可以用setDateHeader来设置这个头以避免转换时间格式的麻烦。
    Server:由apache中的 ServerTokens 指令来配置
    X-Powered-By:由php.ini中的 expose_php = Off 决定是否显示

    常用自定义header头:

    一、浏览器cache设置:(Cache-control:

    网页的缓存是由HTTP消息头中的“Cache-control”来控制的,常见的取值有private、no-cache、max-age、must-revalidate等,默认为private。其作用根据不同的重新浏览方式分为以下几种情况。

    Expires 表示存在时间,允许客户端在这个时间之前不去检查(发请求)而使用本地浏览器中的缓存,等同Cache-Control中的max-age 如
    果同时设置了Expires和Cache-Control中的max-age则Expires会被max-age覆盖



    注意:(在HTTP/1.0中可能部分没实现,仅仅实现了Pragma: no-cache)

    1) 什么是”Last-Modified”?

             在浏览器第一次请求某一个URL时,服务器端的返回状态会是200,内容是你请求的资源,同时有一个Last-Modified的属性标记此文件在服务期端最后被修改的时间,格式类似这样:

             Last-Modified: Fri, 12 May 2006 18:53:33 GMT

             客户端第二次请求此URL时,根据 HTTP 协议的规定,浏览器会向服务器传送 If-Modified-Since 报头,询问该时间之后文件是否有被修改过:

             If-Modified-Since: Fri, 12 May 2006 18:53:33 GMT

             如果服务器端的资源没有变化,则自动返回 HTTP 304 (Not Changed.)状态码,内容为空,这样就节省了传输数据量。当服务器端代码发生改变或者重启服务器时,则重新发出资源,返回和第一次请求时类似。从而 保证不向客户端重复发出资源,也保证当服务器有变化时,客户端能够得到最新的资源。

    案例1:

    我写了一个礼品兑换功能,但用户兑换完成后,后退又进入兑换页面,如何使得用户使用浏览器自带的后退按钮后退后页面重新读取php代码。

    // 设置此页面的过期时间(用格林威治时间表示),只要是已经过去的日期即可。 

    header("Expires: Mon, 26 Jul 1970 05:00:00 GMT");

    //设置此页面的最后更新日期(用格林威治时间表示)为当天,可以强制浏览器获取最新资料 

    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 

    //告诉客户端浏览器不使用缓存,HTTP 1.1 协议 header("Cache-Control: no-cache, must-revalidate"); 

    //告诉客户端浏览器不使用缓存,兼容HTTP 1.0 协议 header("Pragma: no-cache");

     

    Connection keep-Alive: 表示是否需要持久连接。由服务中的KeepAlive指令控制
    Content-Length:有服务器自动计算,用于实现持久连接
    Content-type :
    这个由请求的文件类型决定,默认配置时服务器中的DefaultType text/plain
    Date:当前的GMT时间。你可以用setDateHeader来设置这个头以避免转换时间格式的麻烦。
    Server:
    由apache中的 ServerTokens 指令来配置 X-Powered-By:由php.ini中的 expose_php = Off 决定是否显示
  • 相关阅读:
    POJ 2923 Relocation (状态压缩,01背包)
    HDU 2126 Buy the souvenirs (01背包,输出方案数)
    hdu 2639 Bone Collector II (01背包,求第k优解)
    UVA 562 Dividing coins (01背包)
    POJ 3437 Tree Grafting
    Light OJ 1095 Arrange the Numbers(容斥)
    BZOJ 1560 火星藏宝图(DP)
    POJ 3675 Telescope
    POJ 2986 A Triangle and a Circle
    BZOJ 1040 骑士
  • 原文地址:https://www.cnblogs.com/Alight/p/3103339.html
Copyright © 2011-2022 走看看