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请求大小是没有限制的。

html 复制代码
<!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-协议解析

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

相关推荐
悲伤小伞1 小时前
Linux_Socket_UDP
linux·服务器·网络·c++·网络协议·udp
学网络的APang2 小时前
Apache HTTP Server 2.4.65 详细安装教程(基于 CentOS 7)
运维·网络
FreeBuf_3 小时前
SesameOp 恶意软件滥用 OpenAI Assistants API 实现与 C2 服务器的隐蔽通信
运维·服务器·网络
tt5555555555554 小时前
Transformer原理与过程详解
网络·深度学习·transformer
翻斗花园牛图图-4 小时前
Linux网络——传输层协议UDP&&TCP
网络
yeapT5 小时前
网络传输协议的介绍——SSE
网络·websocket·http
quant_19865 小时前
【教程】使用加密货币行情接口 - 查询比特币实时价格
开发语言·后端·python·websocket·网络协议
QT 小鲜肉5 小时前
【QT/C++】Qt网络编程进阶:UDP通信和HTTP请求的基本原理和实际应用(超详细)
c语言·网络·c++·笔记·qt·http·udp
闲人编程6 小时前
用Python和Telegram API构建一个消息机器人
网络·python·机器人·api·毕设·telegram·codecapsule
掘根6 小时前
【Docker】网络
网络·docker·容器