求教:关于php学习中的一些基本网络技术

正在看ChinaITLab的PHP视频教程,第三集中有一个例子
<?php
$fp = fsockopen("www.163.com",80,&$errno,&$srrstr,10);
if(!$fp){
echo "$errstr ($errno)
\n";
}else{
fputs($fp,"GET / HTTP/1.0\nHost: www.163.com\n\n");

while(!feof($fp)){
echo fgets($fp,128);
}
fclose($fp);
}
?>
我的问题是:
GET / HTTP/1.0\nHost: www.163.com\n\n 这串字符有什么用?为什么要这样写?是怎么知道这串字符的写法的?

我现在了解的是:GET是HTTP协议里的命令,这串字符相当于向浏览器地址栏中输入www.163.com后按回车键,但是我不知道为什么要这样写,协议里规定的格式是怎么样的,这些内容从哪里可以学到?

另外这个程序无法获得163的页面,但是百度可以。难道是163页面里有视频,百度页面简洁只有字符图片的原因?

1个回答

suplxun
斐偲 谢谢你了~
7 年多之前 回复
jinnianshilongnian
jinnianshilongnian GET是HTTP协议里的命令,这串字符相当于向浏览器地址栏中输入www.163.com后按回车键,但是我不知道为什么要这样写? 1、在浏览器输入地址 2、浏览器会转成相应的格式进行发送。你可以下载如Fiddler来查看发送 和接收的数据。 数据本身是通过tcp传输的。http协议是构建在tcp之上。
7 年多之前 回复
jinnianshilongnian
jinnianshilongnian http权威指南 这本书是详细讲http协议的。 编程中要得到某一个网站该发送什么样的字符,这应该是有规律的,这规律是什么? 这就是协议里规定的。 协议就是你说的那个规律(约定)。 协议的头信息有默认和自定义之分, body体数据就是你发给客户的,客户拿到之后再根据协议约定拿数据。 你想深入学习的话 可以看Http权威指南 目前有中文版了
7 年多之前 回复
suplxun
斐偲 看了你推荐的资料,还是觉得不详细。编程中要得到某一个网站该发送什么样的字符,这应该是有规律的,这规律是什么?你的资料里只是泛泛而谈的东西。
7 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问