HTTP(HyperText Transfer Protocal)超文本传输协议
HTTP是无连接的,无状态的
无连接:http协议本身没有维护连接的信息,http的数据会交给传输层的TCP协议
无状态:HTTP协议自身不对请求和响应之间的通信状态进行保存
HTTP协议的URL
urlencode:对字符转义,例如C++,因为+可以是字符也可以是运算符号所以要对字符'+'转义
urldecode:urlencode的逆过程
HTTP协议格式:
HTTP请求
首行: [方法] + [url] + [版本] Header: 请求的属性, 冒号分割的键值对;每组属性之间使用\n分隔;遇到空行表示Header部分结束
Body: 空行后面的内容都是Body. Body允许为空字符串. 如果Body存在, 则在Header中会有一个 Content-Length属性来标识Body的长度;
HTTP响应
首行: [版本号] + [状态码] + [状态码解释] Header: 请求的属性, 冒号分割的键值对;每组属性之间使用\n分隔;遇到空行表示Header部分结束
Body: 空行后面的内容都是Body. Body允许为空字符串. 如果Body存在, 则在Header中会有一个 Content-Length属性来标识Body的长度; 如果服务器返回了一个html页面, 那么html页面内容就是在 body中.
HTTP的方法:
GET、PUSH、POST、PUT……
GET:传输的数据放在URL中
POST:传输的数据在正文报中
状态码:
404 Not Found、302 临时重定向、301 永久重定向、200 OK……