HTTP协议的重要性:无论是webservice,还是用rest做大型架构,都离不开对HTTP协议的认识
甚至可以简化的说,webservice = http协议+ XML,rest = http协议+json
各种API也一般是用http协议+XML/json来实现的。做采集和ajax也需要对HTTP协议有所了解。
什么是协议:计算机中的协议和现实生活中的协议是一样的,一式双份/多份,双方多方都遵从共同的一个规范,这个规范就可以成为协议。
计算机之所以能全世界互通,协议是功不可没的,如果没有协议,计算机各说各话,根本谁不抖动谁。
http,ftp,stmp,pop,tcp/ip协议
HTTP请求信息和响应信息的格式
请求:
(1)请求行
(2)请求头信息
(3)请求主体信息
请求行又分3部分
请求方法:GET POST PUT DELETE TRACE OPTIONS
浏览器能发送HTTP协议,那一定要浏览器可以发嘛?NO,HTTP既然是一种协议,只要满足这种协议,什么工具都可以发。
用telnet
GET 就是请求方法 method
test/http1.php 请求的资源(路径,URL的一部分)
HTTP/1.1 请求所用的协议版本
Host:请求头部信息 注意:头信息结束后,有一个空行,头信息和主体信息(如果有),需要这个空行做区分。即使没有主体信息,空行也不能少。
空格
主体
另:头信息也是非常丰富的。
响应行:协议版本 状态码 状态文字
响应头信息
key:value
key:value
content-length:接下来主体的长度
空一格
响应主体
用telnet来完成HTTP协议的POST请求
POST /path/filename HTTP/1.1
Host: localhost
Content-length:num
Content-Type: application/x-www-form-urlencoded POST需要这一句 代表名=值
名值对