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协议(报头/状态码/缓存)的更多相关文章
- HTTP协议 (六) 状态码详解
HTTP协议 (六) 状态码详解 HTTP状态码,我都是现查现用. 我以前记得几个常用的状态码,比如200,302,304,404, 503. 一般来说我也只需要了解这些常用的状态码就可以了. 如果 ...
- HTTP协议的状态码
对于Web编程人员来说,熟悉了解HTTP协议的状态码是很有必要的,很多时侯可能根据HTTP协议的状态码很快就能定位到错误信息!今天整理了一下所有HTTP状态码. HTTP状态码(HTTP Status ...
- http协议的状态码——400,401,403,404,500,502,503,301,302等常见网页错误代码
http协议的状态码 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态码. 100(继续) 请求者应当继续提出请求.服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101( ...
- http协议的状态码(200,404,503)
http协议的状态码 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态码. 100(继续) 请求者应当继续提出请求.服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101( ...
- Java Web学习总结(21)——http协议响应状态码大全以及常用状态码
http协议响应状态码大全以及常用状态码 当我们在浏览网页或是在查看服务器日志时,常会遇到3位数字的状态码,这3位数字是什么意思呢?其实,这3位数字是HTTP状态码,用来表示网页服务器HTTP响应状态 ...
- HTTP协议常用状态码
HTTP协议常用状态码 <?php send_http_status(404); /** * HTTP Protocol defined status codes * HTTP协 ...
- HTTP协议 -- 认清协议常用状态码
HTTP协议作为web服务的基础,理所应当受到重视,但是周围的同事能够讲清楚HTTP协议的凤毛麟角.既然是基础,就应该早一点掌握,所以近半年(2016-2月——2016年6月),不准备学习新技术了.首 ...
- HTTP协议中状态码的应用
HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码. 所有状态码的第一个数字代表了响应的五种状态之一. Mark from 维基百科 消息 ...
- HTTP协议之状态码详解
转自:http://www.cnblogs.com/TankXiao/ 什么是HTTP状态码 HTTP状态码的作用是:Web服务器用来告诉客户端,发生了什么事. 状态码位于HTTP Response ...
随机推荐
- 用户ID的代码生成
public class Uid { private static final String machineIdString = Integer.toHexString(new Object().ha ...
- mysql create dabase 语法详解
由于SQL标准的存在,各个关系型数据库管理系统中创建库的语句都差不多 一.mysql 中创建数据库的语法如下: 1.创建数据库的语法: create {database | schema } [if ...
- css 只改变父元素的透明度,不改变子元素透明度rgba+opacity
给元素加透明度时,通常写法为:opacity:0.5,filter:alpha(opacity=50); 我们通常也会遇到,在给父元素背景设置透明度时,子元素内容继承了父元素的透明度. 如何让子元素脱 ...
- with(上下文的用法)以及其他知识点
一.上下文 class Sxw(object): def __enter__(self): '''进入''' print("你好啊") def __exit__(self, exc ...
- SQLSERVER中的timestamp 和 C#中的byte[] 转换
项目中由于需求设计,数据库中需要一个timestamp时间戳类型的字段来作为区别数据添加和修改的标识.由于timestamp在SQL SERVER 2005数据库中,不可为空的timestamp类型在 ...
- 关于release后retainCount还是1的问题
转自:http://www.cocoachina.com/bbs/read.php?tid=175523 realse之后再调用还能调用的的问题,我做了这么多年也是经常遇到,也曾经试图寻找原因, 就像 ...
- Vmware linux 无法上网
流程如下: 1)点击 VM->Settings Hardware选项卡下面 2)点击Network Adapter 设置如下图所示,首先我们在虚拟机中将网络配置设置成NAT, 3.进入Windo ...
- jquery的商品首页
js代码: $(function() { /*新闻滚动*/ var $this = $('.scrollNews'); var scrollTimer; $this.hover(function () ...
- The Tao Of Programming翻译
The Tao Of Programming里面有许多道家思想,我也喜欢道家学说, 萌生了用文言文翻译的想法,不足之处还请方家指正. 翻译后的文档放在gitcafe上了,欢迎大家fork修正.
- Python高级编程之生成器(Generator)与coroutine(三):coroutine与pipeline(管道)和Dataflow(数据流_
原创作品,转载请注明出处:点我 在前两篇文章中,我们介绍了什么是Generator和coroutine,在这一篇文章中,我们会介绍coroutine在模拟pipeline(管道 )和控制Dataflo ...