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 ...
随机推荐
- java程序猿常用Linux命令
1.查找文件 find / -name filename.txt 根据名称查找/目录下的filename.txt文件. find . -name "*.xml" 递归查找所有的xm ...
- unity, Root Motion
(引自:http://tieba.baidu.com/p/4323644080) 然后详细看了下这个文档:http://docs.unity3d.com/Manual/RootMotion.html ...
- Spring Cloud(七):使用SVN存储分布式配置中心文件和实现refresh
国内很多公司都使用的svn来做代码的版本控制,我们先介绍以下如何使用svn+Spring Cloud Config来做配置中心. svn版本 同样先示例server端的代码,基本步骤一样. 1.添加依 ...
- 李洪强iOS开发之数据存储
李洪强iOS开发之数据存储 iOS应用数据存储的常用方式 1.lXML属性列表(plist)归档 2.lPreference(偏好设置) 3.lNSKeyedArchiver归档(NSCoding) ...
- Java得到GET和POST请求URL和参数列表
一 获取URL:getRequestURL() 二 获取参数列表: 1.getQueryString() 只适用于GET,比如客户端发送http://localhost/testServlet?a=b ...
- mysql5.5和5.6版本间的坑
mysql 5.5 int类型 设置不为null,无填充,添加新数据会自动填充0 而5.6同样的配置新建数据没值时,不让添加 5.5 datetime 不能设置默认时间(可以通过某些复杂的方式,这里说 ...
- spring配置:context:property-placeholder 读取配置文件信息 在配置文件中使用el表达式填充值
spring将properties文件读取后在配置文件中直接将对象的配置信息填充到bean中的变量里. 原本使用PropertyPlaceholderConfigurer类进行文件信息配置.Prope ...
- QT4.8.5 源码编译记录
今天想将以前的虚拟机的 QT4.8.5 集成到一个虚拟机里面,所以就重新编译了一次 QT4.8.5的源码 走了一点点小弯路,特此记录. 一.交叉编译器,不能直接从原来的虚拟机里面拷贝,必须使用官网的交 ...
- RabbitMQ之HelloWorld【译】
简介 RabbitMQ是一个消息代理,主要的想法很简单:它接收并转发消息.你可以把它当做一个邮局,当你发送邮件到邮筒,你相信邮差先生最终会将邮件投递给收件人.RabbitMQ在这个比喻里,是一个邮筒, ...
- 同过增强Connection类[重写了close的方法]实现的从连接池取出连接并放回连接的简单的实现流程
package tk.dong.connection.util; import java.io.IOException;import java.io.InputStream;import java.i ...