什么是HTTP协议?
协议是指双方或多方,相互约定好,大家都遵守的规则,叫协议。
所谓HTTP协议,就是指,客户端和服务器之间通信时,发送的数据,需要遵守的规则,叫HTTP协议。
HTTP协议中的数据又叫报文。
请求HTTP协议格式
客户端给服务器发送数据叫请求。
服务器给客户端回传数据叫响应。
请求又分为GET请求和POST请求两种。
GET请求
1、请求行
(1) 请求的方式 GET
(2) 请求的资源路径[+?+请求参数]
(3) 请求的协议的版本号 HTTP/1.1
2、请求头
key:value 组成 不同的键值对,表示不同的含义。
Accept:你把数据给服务器,那么服务器给你传什么类型的数据你得告诉它,那么这个Accept就是告诉服务器,客户端可以接收的数据类型。
Accept-Language:告诉服务器,客户端可以接收的语言类型。这种语言,一般常见的就是两种,中文跟英文,中文是:zh_CN,英文是:en_US。
User-Agent:这个是浏览器的信息。
Accept-Encoding:告诉服务器,客户端可以接收的数据编码(压缩)格式
Host:表示请求的服务器IP和端口号。
Connection:告诉服务器请求连接如何处理。
常用的有:
Keep-Alive:告诉服务器回传数据不要马上关闭,保持一小段时间的连接。
Closed:马上关闭。
POST请求
1、请求行
(1) 请求的方式 POST
(2) 请求的资源路径[+?+请求参数]
(3) 请求的协议的版本号 HTTP/1.1
2、请求头
(1) key:value 不同的请求头,有不同的含义
Accept:表示客户端可以接收的数据类型
Accept-Language:表示客户端可以接收的语言类型
Referer:表示请求发起时,浏览器地址栏中的地址(简单点说就是从哪来),比如说我在a.html点的提交,然后会记录是从a.html来的,这个东西可以记录从哪 来,就可以记录哪个网站给我打的流量比较多,防止盗链。
User-Agent:表示浏览器的信息。
Content-Type:表示发送的数据的类型。有两种
application/x-www-form-urlencoded 表示提交的数据格式是:name=value&name=value,然后对其进行url编码。
url编码是把非英文内容转换为
multipart/form-data 这个是表示以多段的形式提交数据给服务器(以流的形式提交,用于上传)
Content-Length:表示发送的数据的长度
Cache-Control:表示如何控制缓存,no-cache就是不缓存
常用请求头的说明
Accept:表示客户端可以接收的数据类型
Accept-Languege:表示客户端可以接收的语言类型
User-Agent:表示客户端浏览器信息
Host:表示请求时的服务器ip和端口号
哪些是GET请求,哪些是POST请求
GET请求有哪些?
-
form标签 method=get
-
a标签
-
link标签引入css
-
Script标签引入JS文件
-
img标签引入图片
-
iframe引入HTML页面
-
在浏览器地址栏中输入地址后敲回车,也是GET请求。
POST请求有哪些?
-
form标签 method=post