概念:
Hyper Text Transfer Protocol 超文本传输协议
传输协议:对浏览器客户端 和 服务器端 之间数据传输的格式规范
特点:
1. 基于TCP/IP的高级协议
2. 默认端口号:80
3. 基于请求/响应模型的:一次请求对应一次响应
版本:
1.0:当前浏览器客户端与服务器端建立连接之后,只能发送一次请求,一次请求之后连接关闭
1.1:当前浏览器客户端与服务器端建立连接之后,可以在一次连接中发送多次请求。(基本都使用1.1)
请求消息数据格式
1. 请求行
请求方式 请求url 请求协议/版本
GET /login.html HTTP/1.1
请求方式:
HTTP协议有7中请求方式,常用的有2种
GET:
1. 地址栏会跟上参数数据,以?开头,多个参数之间以&分割
2. GET提交参数数据有限制,不超过1KB
3. GET方式不适合提交敏感数据
4. 浏览器直接访问的请求,默认提交方式是GET方式
POST:
1. 参数不会跟着地址栏后面,参数而是跟在请求的实体内容中
2. POST提交的参数数据没有限制
3. POST方式提交敏感数据相对安全
2. 请求头:客户端浏览器告诉服务器一些信息
请求头名称: 请求头值
常见的请求头:
Accept: text/html,image/* —— 浏览器接受的数据类型
Accept-Charset: ISO-8859-1 ——浏览器接受的编码格式
Accept-Encoding: gzip,compress ——浏览器接受的数据压缩格式
Accept-Language: en-us,zh ——浏览器接受的语言
Host: www.company.org:80 ——(必须的)当前请求访问的目标地址(主机:端口)
If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT ——浏览器最后的缓存时间
Referer: http://localhost/login.html ——当前请求来自于哪里
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) ——浏览器类型
Cookie:name=jack ——浏览器保存的cookie信息
Connection: close/Keep-Alive ——浏览器跟服务器连接状态。
close: 连接关闭 keep-alive:保持连接。
Date: Tue, 11 Jul 2000 18:23:51 GMT ——请求发出的时间
3. 请求体:请求的内容
页面参数