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

相关推荐
我曾经是个程序员1 分钟前
鸿蒙学习记录之http网络请求
服务器·学习·http
0zxm3 分钟前
06 - Django 视图view
网络·后端·python·django
轩辰~1 小时前
网络协议入门
linux·服务器·开发语言·网络·arm开发·c++·网络协议
燕雀安知鸿鹄之志哉.1 小时前
攻防世界 web ics-06
网络·经验分享·安全·web安全·网络安全
ProcessOn官方账号2 小时前
如何绘制网络拓扑图?附详细分类解说和用户案例!
网络·职场和发展·流程图·拓扑学
Ven%2 小时前
如何在防火墙上指定ip访问服务器上任何端口呢
linux·服务器·网络·深度学习·tcp/ip
神的孩子都在歌唱3 小时前
TCP/IP 模型中,网络层对 IP 地址的分配与路由选择
网络·tcp/ip·智能路由器
阿雄不会写代码3 小时前
ubuntu安装nginx
linux·服务器·网络
starstarzz3 小时前
计算机网络实验四:Cisco交换机配置VLAN
网络·计算机网络·智能路由器·vlan·虚拟局域网
EasyDSS4 小时前
国标GB28181-2022平台EasyGBS:安防监控中P2P的穿透方法
网络协议·php·音视频·p2p