PHP中的http协议

http协议基本组成


报文:用于Http协议交互的信息

请求行:包括请求的方法,URL和HTTP协议版本

状态行:包括响应结果的状态码,状态描述和Http版本

首部字段:包括请求和响应的各种条件和属性值(键值对)


下面通过一个实例来进行演示:

在localhost目录下建立index.php

<?php
echo "Http demo";
?>

  接下来,在浏览器中打开localhost



一共三部分信息。

telnet模拟Http请求

1. cmd下->telnet主机地址 80

2. 按下快捷键:ctrl+"]" 再按下回车键 打开回显功能

3. 发送请求报文

'telnet' 不是内部或外部命令,也不是可运行的程序,解决方法:控制面板 -> 程序 -> 打开或关闭Windows功能 -> 勾选Telnet客户端 -> 确定。Win + R打开cmd窗口,输入以下命令。

C:\Users\ThinkPad>telnet 127.0.0.1 

接着回车后按下Ctrl + ] 打开回显功能,然后再按回车键。


输入请求行后回车。


分析内容含义:

GET(请求方法) /index.php(请求URL) HTTP/1.1(http协议版本)----->请求行
Host:localhost(请求首部)
(空行)
响应内容:
HTTP/1.1 200(响应结果状态码) OK(状态描述)
Date: Sun, 12 Mar 2017 13:25:07 GMT
Server: Apache/2.4.4 (Win32) OpenSSL/1.0.1e PHP/5.5.3
X-Powered-By: PHP/5.5.3
Content-Length: 14
Content-Type: text/html
(空行)
锘縣ttp demo

修改index.php内容如下:

<?php
//echo "Http demo";
$str = implode($_POST,"\n");
echo $str;
?>

  在环境变量的系统变量path属性中添加C:\Windows\System32;即可满足cmd粘贴功能。

下面演示POST请求:


POST /index.php HTTP/1.1(请求行)

HOST:localhost
Content-type:application/x-www-form-urlencoded(首部)
content-length:20(下面是空格)

act=query&name=ghostHTTP/1.1 200 OK
Date: Sun, 12 Mar 2017 14:10:51 GMT
Server: Apache/2.4.4 (Win32) OpenSSL/1.0.1e PHP/5.5.3
X-Powered-By: PHP/5.5.3
Content-Length: 16
Content-Type: text/html

锘縬uery
ghost

PHP中的http协议的更多相关文章

  1. Android 中多点触摸协议

    http://blog.csdn.net/zuosifengli/article/details/7398661 Android 中多点触摸协议: 参考: http://www.kernel.org/ ...

  2. C# WCF学习笔记(二)终结点地址与WCF寻址(Endpoint Address and WCF Addressing) WCF中的传输协议

    URI的全称是 Uniform Rosource Identifire(统一资源标识),它唯一标识一个确定的网绐资源,同时也表示资源所处的位置及访问的方式(资源访问所用的网络协议). 对于Endpoi ...

  3. 详解Objective-C中委托和协议

    Objective-C委托和协议本没有任何关系,协议如前所述,就是起到C++中纯虚类的作用,对于“委托”则和协议没有关系,只是我们经常利用协议还实现委托的机制,其实不用协议也完全可以实现委托. AD: ...

  4. springboot中通过cors协议解决跨域问题

    1.对于前后端分离的项目来说,如果前端项目与后端项目部署在两个不同的域下,那么势必会引起跨域问题的出现. 针对跨域问题,我们可能第一个想到的解决方案就是jsonp,并且以前处理跨域问题我基本也是这么处 ...

  5. objective-C中的"非正式协议"和“正式协议”

    objective-C中的接口与泛型 先承认我是标题党,因为在obj-c的世界中,官方根本没有"接口"与"泛型"这样的说法. 不过在obj-c中有二个与之接近的 ...

  6. Java中的UDP协议编程

    一. UDP协议定义   UDP协议的全称是用户数据报,在网络中它与TCP协议一样用于处理数据包.在OSI模型中,在第四层——传输层,处于IP协议的上一层.UDP有不提供数据报分组.组装和不能对数据包 ...

  7. Python中的端口协议之基于UDP协议的通信传输

    UDP协议: 1.python中基于udp协议的客户端与服务端通信简单过程实现 2.udp协议的一些特点(与tcp协议的比较)        3.利用socketserver模块实现udp传输协议的并 ...

  8. TwinCAT 3中基于UDP协议通讯的C++实现

    因为项目需要,学习了TwinCAT3中使用UDP协议进行通讯的基本知识.这个做个简单的笔记,方便以后查询. 1 概述 倍福为了实现从实时环境中直接访问网卡(network cards)专门提供了一个函 ...

  9. 卫星网络中使用TCP协议的劣势(所以才有TCP优化版用来卫星通信啊,比如TCP-Peach和ADolar)

    卫星网络中使用TCP协议的劣势 为了避免产生网络拥塞,原TCP协议综合采用了慢启动.拥塞避免.快速重传以及快速恢复等算法.但这些算法应用的前提是网络发生拥塞造成丢包,然而在误码率相对较高的卫星通信系统 ...

随机推荐

  1. robots书写说明:

    "User-Agent"搜索引擎的名字. 针对所有搜索引擎写法:User-Agent: *,针对百度搜索引擎写法:User-Agent:Baiduspider "Allo ...

  2. 正则API

    正则表达式:规定字符串中字符出现规律的公式 如果备选字符列表中个别字符之间是连续的,可用-省略中间的字符.比如: 匹配1位数字:   [0-9]匹配1位小写字母 : [a-z] 匹配1位大写字母 : ...

  3. C语言第二次实验报告

    1.实验题目 题1:11-7 找鞍点(20 分) 一个矩阵元素的"鞍点"是指该位置上的元素值在该行上最大.在该列上最小. 本题要求编写程序,求一个给定的n阶方阵的鞍点    题2: ...

  4. python arvg用法

    转自:http://blog.csdn.net/vivilorne/article/details/3863545 在学python的过程中,一直弄不明白sys.argv[]的意思,虽知道是表示命令行 ...

  5. linux_Nginx日志

    错误信息日志配置: 日志文件默认:/application/nginx/logs/erroe.log error_log logs/error.log error; # 不写默认就有,默认error, ...

  6. 1.NET是什么

  7. Java中Unsafe类详解

    http://www.cnblogs.com/mickole/articles/3757278.html Java不能直接访问操作系统底层,而是通过本地方法来访问.Unsafe类提供了硬件级别的原子操 ...

  8. Ubuntu 11.10 Server下搭建Maven私服

      安装Nexus服务的文档可以参考官方站点:http://www.sonatype.com/books/nexus-book/reference/install-sect-install.html ...

  9. Servlet--转发和重定向

    Servlet的跳转有2种,一种是转发,一种是重定向. 重定向: <strong><span style="font-size:14px;"></sp ...

  10. PMS 启动流程

    1.在SystemServer中启动PackageManagerService.main 2.newPackageManagerService()并添加到ServiceManager中 3.newin ...