http协议说明
今天公司有同事让我给他讲一讲http..然后自己写了一个示例代码,这如果都看不懂.那我也没办法了....
<?php //这里服务器以apache举例.nginx.iis.他们实际上处理方式的都是同理
//申明http链接的数据包 注意最后面有两个换号.这是告诉apache.数据包的结束,如果后面没有两个换号.apache会以为你请求的数据还没有结束.
//这里的GET .说明是用get方式访问.如果是post.就是以post方式访问 post方式访问的时候.会在两个换号之后拼接post的数据
//这里GET后面跟着的/是访问的路径.. 如果需要访问aaaa.php那么在/后面加上aaaa.php,就可以了
//Host 说明我是告诉apache我要访问的是那个域名
//当然还会有其他的属性..其他的属性baidu一下基本就可以了...
$http = <<<PCNTL_ENFILE
GET / HTTP/1.1
Host: www.ip138.com PCNTL_ENFILE; //和www.ip186.com的80端口建立链接 并且返回链接资源
$sock = pfsockopen("www.ip138.com", 80); //向ip138的链接资源发送http数据包 等于给ip138说的话
fwrite($sock, $http);
//给服务器说了话之后.服务器内部怎么处理的.http是不需要管的.然后需要管的就是回复器答复的话
//发送完数据包之后.读取ip138的链接资源返回的数据 .读取的数据长度为99999,. 等于听ip138回复的99999个字
$pack = fread($sock, 99999); //将读取的数据分为头部.和主题内容 头部是给浏览器的说的话. 主题内容就是html代码
//比如设置的cookie就是在头部...
//这里也是用的两个回车换号来区别的...
list($header, $html) = explode("\r\n\r\n", $pack, 2);
//打印让浏览器处理的数据
print_r($header); //打印html代码.
print_r($html);
http协议说明的更多相关文章
- HTTP协议系列(1)
一.为什么学习Http协议 首先明白我们为什么学习HTTP协议,也就是说明白HTTP协议的作用.HTTP协议是用于客户端与服务器之间的通讯.明白了HTTP协议的作用也就知道了为什么要学习H ...
- 重温Http协议--请求报文和响应报文
http协议是位于应用层的协议,我们在日常浏览网页比如在导航网站请求百度首页的时候,会先通过http协议把请求做一个类似于编码的工作,发送给百度的服务器,然后在百度服务器响应请求时把相应的内容再通过h ...
- 协议森林17 我和你的悄悄话 (SSL/TLS协议)
作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系. TLS名为传输层安全协议(Transport Layer Protocol),这个协议是一套加密的 ...
- 协议森林16 小美的桌号(DHCP协议)
作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系. DHCP协议用于动态的配置电脑的网络相关参数,如主机的IP地址,路由器出口地址.DNS域名服务器地 ...
- 简约之美Jodd-http--深入源码理解http协议
Jodd 是一个开源的 Java 工具集, 包含一些实用的工具类和小型框架.简单,却很强大! jodd-http是一个轻巧的HTTP客户端.现在我们以一个简单的示例从源码层看看是如何实现的? Http ...
- 【JavaScript】javascript中伪协议(javascript:)使用探讨
javascript:这个特殊的协议类型声明了URL的主体是任意的javascript代码,它由javascript的解释器运行. 比如下面这个死链接: <a href="javasc ...
- SNMP简单网络管理协议
声明:以下内容是学习谌玺老师视频整理出来(http://edu.51cto.com/course/course_id-861.html) SNMP(Simple Network Management ...
- 海鑫智圣:物联网漫谈之MQTT协议
什么是MQTT协议 MQTT(消息队列遥测传输协议)是IBM在1999年专门针对物联网等应用场景来制订的轻量级双向消息传输协议,它主要是为了解决物联网上使用到的设备的互相通信的问题,以及这些设备与后端 ...
- linux-图形化远程管理协议
远程管理控制方式: RDP(remote desktop protocol)协议: telnet: SSH(Secure Shell): RFB(Remote FrameBuffer)协议(图形化远程 ...
- RTP与RTCP协议介绍(转载)
RTSP发起/终结流媒体.RTP传输流媒体数据 .RTCP对RTP进行控制,同步.RTP中没有连接的概念,本身并不能为按序传输数据包提供可靠的保证,也不提供流量控制和拥塞控制,这些都由RTCP来负责完 ...
随机推荐
- C++服务器设计(一):基于I/O复用的Reactor模式
I/O模型选择 在网络服务端编程中,一个常见的情景是服务器需要判断多个已连接套接字是否可读,如果某个套接字可读,则读取该套接字数据,并进行进一步处理. 在最常用的阻塞式I/O模型中,我们对每个连接套接 ...
- Kernel Regression from Nando's Deep Learning lecture 5
require 'torch' require 'gnuplot' , , nData) ) print(xTrain) print(yTrain) local yTrain = yTrain + t ...
- Web程序工作原理
1.Web程序工作原理 (1)Web一词的含义 Network:[计算机]电脑网络,网 Web:[计算机]万维网(World Wide Web),互联网(Internet) Web程序,顾名思义,即工 ...
- Java Spring MVC
Spring MVC的实现包括 实现Controller类和基于注解的Controller RequstMapping方式 依赖: <!-- https://mvnrepository.com/ ...
- 前端上将字符串用语音读出来只能在IE上运行 其他不行 代码极少
先保存保存自己的笔记 有高手看到求指点 <script type="text/javascript"> var VoiceObj; try { VoiceObj = n ...
- information_schema.collation_character_set_applicability 学习
字符集和排序规则之间是不可以随便搭配的.如果你想知道一个字符集它所搭配的排序规则有哪些?那就可以从information_schema.collation_character_set_applicab ...
- 使用Calendar增加日期
/** * @Description: 当前日期加上n个月返回long date */ public static long getLongDateAddMonth(int n){ Calendar ...
- Qt5中生成和使用静态库
在QT中静态库的后缀名为.a,在vs中开发的静态库后缀名为.lib.QT版本为5.2.1,系统为Windows. 一. 静态库的生成 新建项目. 新建一个静态库的项目,如图1.1所示:项目名称为tes ...
- XmlDocument,XDocument相互转换
XmlDocument,XDocument相互转换 using System; using System.Xml; using System.Xml.Linq; namespace MyTest { ...
- 软件架构 "4+1" 视图模型
1995年,Philippe Kruchten在<IEEE Software>上发表了题为<The 4+1 View Model of Architecture>的论文,引起了 ...