【协议-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.响应正文:服务器返回给客户端的文本信息。

相关推荐
Smartdaili China3 分钟前
使用 Puppeteer-Cluster 和代理进行高效网络抓取: 完全指南
大数据·开发语言·网络·爬虫·php·puppeteer·代理服务器
无极92126 分钟前
访问控制类型及部分具体介绍
运维·服务器·网络·安全·网络安全·模型·访问控制
Kusunoki_D39 分钟前
传输层 IV(TCP协议——流量控制、拥塞控制)【★★★★】
网络·网络协议·tcp/ip·计算机网络
码农派大星。42 分钟前
网络原理 HTTP与HTTPS协议
网络·网络协议·http·https
chusheng18401 小时前
Python 中的 Socket 编程入门
开发语言·网络·python
ZHOUPUYU1 小时前
最新Kali Linux超详细安装教程(附镜像包)
linux·运维·服务器·开发语言·网络
知本知至1 小时前
基于open-gpu-kernel-modules的p2p vram映射bar1提高通信效率
网络·网络协议·p2p
数据安全小盾2 小时前
2024年10款好用的图纸加密软件推荐|图纸加密用哪些加密软件?
大数据·运维·服务器·网络·web安全
bandaoyu2 小时前
【RDMA】mlxconfig修改和查询网卡(固件)配置--驱动工具
服务器·网络·数据库
limengshi1383922 小时前
通信工程学习:什么是NFVI网络功能虚拟化基础设施层
网络·学习·信息与通信