【协议-HTTP】

HTTP协议

HTTP协议(超文本传输协议HyperText Transfer Protocol),它是基于TCP协议的应用层传输协议。http协议定义web客户端如何才能够web服务器请求web页面,以及服务器如何把web页面传送给客户端。

HTTP 是一种无状态 (stateless) 协议, HTTP协议本身不会对发送过的请求和相应的通信状态进行持久化处理。

然而,在许多应用场景中,我们需要保持用户登录的状态或记录用户购物车中的商品。由于HTTP是无状态协议,所以必须引入一些技术来记录管理状态,例如Cookie。

"统一资源定位符" (URL)用来定义Web网页的地址。

http请求

http请求由请求行,消息报头,请求正文三部分构成。

1.请求行:用来说明请求类型,要访问的资源,以及所使用的HTTP版本.

复制代码
请求类型:
HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD 方法。
HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。
1	GET	请求指定的页面信息,并返回实体主体。
2	HEAD	类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头
3	POST	向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。
4	PUT	从客户端向服务器传送的数据取代指定的文档的内容。
5	DELETE	请求服务器删除指定的页面。
6	CONNECT	HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。
7	OPTIONS	允许客户端查看服务器的性能。
8	TRACE	回显服务器收到的请求,主要用于测试或诊断。
9	PATCH	是对 PUT 方法的补充,用来对已知资源进行局部更新 。

2.请求头部,紧接着请求行(即第一行)之后的部分,用来说明服务器要使用的附加信息。

  • host:指出请求的目的地。
  • user-agent:向服务器发送,包含了访问者系统引擎版本、浏览器信息的字段信息。

3.请求头部和请求正文之间有空行。

4.请求主体:可以添加任意的其他数据。

http响应

HTTP响应也由三部分组成,包括状态行,消息报头,响应正文。

1.状态行:由http协议版本号、状态码、状态消息三部分组成。

复制代码
状态码:
HTTP 状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型。响应分为五类:信息响应(100--199),成功响应(200--299),重定向(300--399),客户端错误(400--499)和服务器错误 (500--599):
常见的http状态码:
200 - 请求成功
301 - 资源(网页等)被永久转移到其它URL
404 - 请求的资源(网页等)不存在
500 - 内部服务器错误

2.消息报头:用来说明客户端要使用的一些附加信息。

3.消息报头后面的空行是必须的。

4.响应正文:服务器返回给客户端的文本信息。

相关推荐
枷锁—sha14 分钟前
【CTFshow-pwn系列】03_栈溢出【pwn 045】详解:Ret2Libc 之 32位动态泄露(补充本地 Libc 手动加载指南)
服务器·网络·网络安全·系统安全
liann11934 分钟前
4.3.2_WEB——WEB后端语言——PHP
开发语言·前端·网络·安全·web安全·网络安全·php
byzh_rc1 小时前
[深度学习网络从入门到入土] 含并行连结的网络GoogLeNet
网络·人工智能·深度学习
乾元1 小时前
对抗性攻击:一张贴纸如何让自动驾驶视觉系统失效?
运维·网络·人工智能·安全·机器学习·自动驾驶
全栈前端老曹2 小时前
【Redis】Pipeline 与性能优化——批量命令处理、提升吞吐量、减少网络延迟
前端·网络·数据库·redis·缓存·性能优化·全栈
MediaTea4 小时前
Python:生成器对象的扩展接口
开发语言·网络·python
正儿八经的少年5 小时前
服务网关(Service Gateway)
运维·网络
雨天行舟5 小时前
abap调用deepseek接口 v3.0
http·ai·sap·abap·聊天·deepseek
末日汐6 小时前
应用层自定义协议与序列化
运维·服务器·网络
实时数据6 小时前
渗透测试步骤 信息收集:收集目标系统的相关信息,例如域名、IP地址、开放端口和服务等
网络·安全·web安全