定义
Hyper Text Transfer Protocol(超文本传输协议)的缩写,基于端到端的超文本传输协议.
基于TCP/IP 通信协议来传递数据
超文本是啥
https://baike.baidu.com/item/超文本/2832422?fr=aladdin
TCP/IP 通信协议 这个关键知识点,TODOList,暂时放下
通讯流程:
客户端发送 请求 ---> 服务端接收 请求 --->服务端处理-->响应.返回
特点
无连接:限制每次连接只处理一个请求
媒体独立: 可传输任意格式数据
无状态:对事物处理没有记忆
消息结构
使用统一资源标识符来传输数据和建立连接
建立连接后,数据消息就通过类似internet邮件所使用的格式[RFC5322] 和多用于邮件扩展来传送
客户端请求消息
请求行(request line)
请求头部(header)
空行
请求数据
例如
GET /hello.txt HTTP/1.1
User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3
Host: www.example.com
Accept-Language: en, mi
服务器响应消息
状态行
消息报头
空行
响应正文
例如
HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Accept-Ranges: bytes
Content-Length: 51
Vary: Accept-Encoding
Content-Type: text/plain
请求方法
1.0 定义了 三种
GET:请求
POST:提交数据/add/change
HEAD:类似get,用于获取报头
1.1 新增五中
OPTIONS//允许客户端查看服务器的性能
PUT // 替换
DELETE//
TRACE//用于测试或诊断
CONNECT//测试或诊断
响应头
Allow: 服务器支持哪些请求方法
Content-Encoding:文档编码方法(检查支持gzip)
Content-Length:内容长度
Content-Type:数据类型
Date:GMT时间
Expires:文档过期时间,
LastModified:最后改动时间
Location:表示客户应当到哪里去提取文档
Refresh:文档刷新时间
Server:服务器名字
Set-Cookie:设置和页面关联的Cookie(addCookie)
WWW-Authenticate:授权信息类型