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. Dedecms列表页标签list/pagelist使用方法及pagelist的样式

    Dede的默认页面中有个list_article.htm页面,这是dede的列表页面.在列表页显示文章的列表,是通过dede的list和pagelist这两个个标签实现的.本文就这两个标签的使用及pa ...

  2. Tomcat 源码分析(二)——Request处理全过程

    前一篇博客,我总结了Tomcat对于生命周期组件的管理.在了解了容器的启动之后,我们开始剖析它的内部运行机制.今天我们来分析一下Tomcat如何处理Request.Socket作为网络通信的基础也是R ...

  3. asp.net -mvc框架复习(9)-实现用户登录控制器和视图的编写并调试

    1.编写控制器 三个步骤: [1]获取数据 [2]业务处理 [3]返回数据 using System;using System.Collections.Generic;using System.Lin ...

  4. Java进阶篇(四)——Java异常处理

    程序中总是存在着各种问题,为了使在程序执行过程中能正常运行,使用Java提供的异常处理机制捕获可能发生的异常,对异常进行处理并使程序能正常运行.这就是Java的异常处理. 一.可捕获的异常 Java中 ...

  5. 堡垒机之paramiko模块

    一.paramiko简单介绍 场景预设: 很多运维人员平时进行维护linux/unix主机时候,无非通过ssh到相应主机操作,那么一旦主机有成千上百台,那该如何应对,这时候我们需要批处理工具,基于py ...

  6. 新装Centos7.2 配置防火墙

    1.安装 yum -y install firewalld2.开机启动 systemctl enable firewalld3.设置防火墙规则 systemctl restart firewalld ...

  7. intellij springmvc的配置文件报错

    报错: Checks references injected by IntelliLang plugin. Cannot resolve bean  解决: File--Settings[或直接CTR ...

  8. apache访问日志分析[转]

    当前WEB服务器中联接次数最多的ip地址 #netstat -ntu |awk '{print $5}' |sort | uniq -c| sort -nr 查看日志中访问次数最多的前10个IP #c ...

  9. linu_nginx_location语法

    location的作用是什么? 每个server中都需要配置location,通过location匹配域名后内容,再通过location响应同一个域名下不同请求 location语法 location ...

  10. 浅谈Java Virtual Machine

          Java Virtual Machine 就是指Java虚拟器,以下简称VM.关于VM的概念,最早出自CPU模拟器,众所周知的PC上的游戏机模拟器采用的便是和Java VM类似的技术.ja ...