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-协议解析

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

相关推荐
codingandsleeping38 分钟前
OSI 七层网络模型
前端·网络协议·http
codingandsleeping41 分钟前
TCP 三次握手与四次挥手
前端·网络协议
枫super43 分钟前
Servlet、HTTP与Spring Boot Web全面解析与整合指南
spring boot·后端·http·servlet·java-ee·idea·javase
一颗星星辰1 小时前
路由交换网络专题 | 第二章 | RIP | OSPF | 路由聚合 | 路由过滤 | 静默接口
网络·智能路由器
GZX墨痕1 小时前
手把手配置VLAN与三层交换机:实现网络分段与互联
网络协议
cxr8281 小时前
主机IP动态变化时如何通过固定host.docker.internal访问本机服务
网络协议·tcp/ip·docker
秋名RG2 小时前
HTTP 1.0 时代,第一次优化
网络·网络协议·http
小裕哥略帅2 小时前
系统分析师(六)-- 计算机网络
网络·计算机网络
漫谈网络2 小时前
智能资源管理机制-重传机制
网络·滑动窗口·sdn·数据通信·重传
alien爱吃蛋挞5 小时前
【JavaEE】TCP流套接字编程
java·网络·java-ee