PHP HTTP协议(报头/状态码/缓存)

一、HTTP协议介绍

  1、 #HTTP协议
       # (1 建立在TCP/IP协议基础上
       # (2 web开发数据传输依赖于http协议
       # (3 http 协议全称是文本传输协议

  2、HTTP报文报头

       GET/test/test.php HTTP/1.1
       //表示发送的get请求资源
       Accept:* / *
       Referer:http://localhost:8082/test.php
       Accetp-Language:zh-cn// 页面语言
       User-Agent:Mozilla/4.0 //浏览器内核和操作系统
       Accept-Encoding:gzip,deflate//数据压缩格式
       Host:localhost:80 //主机,默认80
       Connection:Keep-Alive //保持连接,不立即断开请求

       //获取信息
       print_r($_SERVER);//查看所有的信息
       foreach($_SERVER as $key=>$val)
       {
              echo $key."->".$val."<br/>";

       }
       echo "你的IP是:".$_SERVER['REMOTE_ADDR'];

       if($_SERVER=="IP地址")
       {     header("location: err.php");   }

   3、get/post区别

       (1、安全性:get请求的数据会显示在地址栏上,post请求的数据放在http的消息体  post安全性高

       (2、提交数据大小:(http本身无限制大小,是浏览器限制) get请求数据是2K+35=2083  post的则没有限制

       (3、get更有利于收藏夹,get会把URL的参数都收录,而post不会

   4、HTTP状态码

       HTTP/1.1 200OK  [200 ok表示请求客户端成功]

       Server:Microsoft-IIS/5.0  [告诉浏览器 服务器情况]

       Date:Thu,12,2013 12:58:21 GMT  [请求的页面当前时间]

       Last-Modified:...   [缓存最新更新时间]

       Content-Length :2291 [ 返回的字节数]

       Content-Type:text/htm  [文档类型]

       Cache-control:private  [缓存]

    

     302:跳转到其他页面

     304:缓存  ;No Modified没有修改过

  5、通过HTTP,间隔时间响应

      <?php

             //header("Refresh:5; url=www.cnblogs.com/daomul");

                header("Refresh:5 ; url=htt[://locahost:8082/test.php");

      ?>

 6、禁用缓存设置

     header("Ecpires: -1");

     header("Cache-control:no-cache");

     header("Pragma :no-cache");

     //每次取得都是最新的,以上三个同时用,保证浏览器兼容性

posted @ 2013-10-17 12:52  daomul  阅读(2895)  评论(0编辑  收藏  举报