目录
一、什么是HTTP协议?
协议是指双方,或多方,相互约定好,大家都需要遵守的规则,叫协议。
HTTP 协议,指客户端和服务器之间通信时,发送的数据需要遵守的规则, HTTP 协议中的数据又叫报文。
二、请求HTTP协议格式
客户端给服务器发送数据叫请求。 服务器给客户端回传数据叫响应。
请求又分为 GET 请求,和 POST 请求两种
1、GET请求:
(1)请求行:
(a)请求方式 GET
(b)请求的资源路径[+?+请求参数]
(c)请求的协议的版本号 HTTP/1.1
(2)请求头:
key : value 组成 不同的键值对,表示不同的含义。
Accept: 告诉服务器,客户端可以接收的数据类型
Accept-Language: 告诉服务器,客户端可以接收的语言类型
zh_GN:中文中国 en_US:英文美国
User-Agent: 浏览器的信息
Accept-Encoding: 告诉服务器,客户端可以接收的数据编码(压缩)格式
Host: 表示请求的服务器ip和端口号
Connection: 告诉服务器请求连接如何处理
Keep-Alive:告诉服务器,回传数据不要马上关闭,保持一小段时间的连接
Closed:马上关闭
2、POST请求:
(1)请求行:
(a)请求方式 POST
(b)请求的资源路径[+?+请求参数]
(c)请求的协议的版本号 HTTP/1.1
(2)请求头:
①key : value 组成 不同的键值对,表示不同的含义。
空行
(3)请求体:
发送给服务器的数据
Accept: 表示客户端可以接收的数据类型
Accept-Language: 表示客户端可以接收的语言类型
Referer: 表示请求发起时,浏览器地址栏中的地址(从哪里来)
User-Agent: 表示浏览器的信息
Context-Type: 表示发送的数据的类型
①application/x-www-form-urlencoded 表示提交的数据格式是:name=value&name=value 然后对其进行url编码(url编码是把非英文内容转化为:%xx%x)
②multipart/form-data 表示以多段的形式提交数据给服务器(以流的形式,提交,用于上传)
Content-Length: 表示发送的数据长度
Cache-Control: 表示如何控制缓存
no-cache跳过缓存,走协商缓存 no-store 不缓存
Accept-Encoding: 表示客户端可以接收的数据编码(压缩)格式
Host: 表示请求的服务器ip和端口号
Connection: 告诉服务器请求连接如何处理
Keep-Alive:告诉服务器,回传数据不要马上关闭,保持一小段时间的连接
Closed:马上关闭
3、哪些是 GET 请求,哪些是 POST 请求
(1)GET 请求有哪些:
①form 标签 method=get
②a 标签
③link 标签引入 css
④Script 标签引入 js 文件
⑤img 标签引入图片
⑥iframe 引入 html 页面
⑦在浏览器地址栏中输入地址后敲回车
(2)POST 请求有哪些:
①form 标签 method=post
三、响应的HTTP协议格式
1、响应行 (1) 响应的协议和版本号 (2) 响应状态码 (3) 响应状态描述符 2、响应头 (1) key : value 不同的响应头,有其不同含义 空行 3、响应体 :回传给客户端的数据
响应头
Server:表示服务器的类型
Content-Type: 表示响应体的数据类型
Content-Length:响应体的长度
Date:响应的时间(格林时间)
四、常用的响应码说明
200 表示请求成功
302 表示请求重定向
404 表示请求服务器已经收到了,但是你要的数据不存在(请求地址错误)
500 表示服务器已经收到请求,但是服务器内部错误(代码错误)
五、MIME类型说明
MIME 是 HTTP 协议中数据类型。 MIME 的英文全称是"Multipurpose Internet Mail Extensions" 多功能 Internet 邮件扩充服务。MIME 类型的格式是“大类型/小 类型”,并与某一种文件的扩展名相对应。
常见的MIME类型:
六、如何查看HTTP协议
1、谷歌浏览器如何查看 HTTP 协议:
2、火狐浏览器如何查看 HTTP 协议: