PHP的http协议

Posted 小疯子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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");

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

以上是关于PHP的http协议的主要内容,如果未能解决你的问题,请参考以下文章

php----http协议 Cookie

PHP:获取 HTTP 协议版本(HTTP/1.1 与 HTTP/2)

HTTP响应设置及PHP模拟HTTP请求

(043)系统学习PHP之细说HTTP协议

HTTP 协议的 PUT 和 DELETE 及其在 PHP 中的使用

(16/06/09) 跟兄弟连学PHP 第一章总结:HTTP协议与WEB的关系。