HTTP-概述

概念

:Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。

原始数据格式

特点


1. 基于TCP协议:面向连接,安全(三次握手)
2. 基于请求-响应模型的:一次请求对应一次响应(无状态)
3.HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的。
缺点:多次请求间不能共享数据。
优点:速度快

HTTP-请求数据格式

请求行:请求数据第一行(请求方式,资源路径,协议及版本)

请求头:第二行开始,格式key :value

User-Agent:用来解决浏览器的兼容问题

请求体:只有post请求有,存放请求参数

清求方式-GET:请求参数在请求行中,没有请求体,如:/brand/findn11?name=0Pposstatus=1。GET请求大小是有限制的。
请求方式-POST:请求参数在请求体中,POST请求大小是没有限制的。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="" method="get">
    姓名:<input type="text" name="name"><br>
    密码:<input type="password" name="password"><br>
    <input type="submit" value="提交"><br>
</form>
<br><br><br>
<form action="" method="post">
    姓名:<input type="text" name="name"><br>
    密码:<input type="password" name="password"><br>
    <input type="submit" value="提交"><br>
</form>

</body>
</html>

HTTP响应格式

响应行:响应数据第一行,(协议,状态码,描述)

响应头:第二行开始,格式key:value

响应体:最后一部分,存放响应数据

Content-Type表示该响应内容的类型,例如text/html,application/json。
Content-Length表示该响应内容的长度(字节数)。
Content-Encoding表示该响应压缩算法,例如gzip。
Cache-Control指示客户端应如何缓存,例如max-age=300表示可以最多缓存300秒。
Set-Cookie告诉浏览器为当前页面所在的域设置cookie。


状态码

1 xx响应中-临时状态码,表示请求已经接收,告诉客户端应该继续请求或者如果它已经完成则忽略它。
2xx成功-表示请求已经被成功接收,处理已完成
3xx重定向-重定向到其他地方;让客户端再发起一次请求以完成整个处理。
4xx责任在客户端。如:请求了不存在的资源、客户端未被授权、禁止访问等,客户端错误-处理发生错误
5xx服务器错误-处理发生错误,责任在服务端。如:程序抛出异常等。

状态码大全:https://cloud.tencent.com/developer/chapter/13553

HTTP-协议解析

解析请求返回响应我们可以用一系列工具

上一篇:C++中的模板(二)


下一篇:Redis基础教程(十四):Redis连接