HTTP初步学习总结
admin
2024-01-26 00:41:40
0

一、http是什么

超文本传输协议(HTTP)是一个用于传输超媒体文档(例如 HTML)的应用层协议。
1)它是为 Web 浏览器与 Web 服务器之间的通信而设计的,但也可以用于其他目的。
2)HTTP 遵循经典的客户端 - 服务端模型,客户端打开一个连接以发出请求,然后等待直到收到服务器端响应。
3)HTTP 是无状态协议,这意味着服务器不会在两个请求之间保留任何数据(状态)。
4)尽管通常基于 TCP/IP 层,但它可以在任何可靠的传输层上使用,也就是说,该协议不会像 UDP 那样静默的丢失消息。
5)RUDP——作为 UDP 的可靠化升级版本——是一种合适的替代选择。

二、HTTP头

HTTP 消息头用于描述资源或服务器或客户端的行为。
可以使用 X- 前缀添加自定义专有头。
其他的可以在 IANA registry 中找到,其原始定义在 RFC 4229。
IANA 同时也维护着一份 registry of proposed new HTTP message headers。

三、资源和URI

1)HTTP 请求的内容通称为"资源"。”资源“这一概念非常宽泛,它可以是一份文档,一张图片,或所有其他你能够想到的格式。每个资源都由一个 (URI) 来进行标识。

2)一般情况下,资源的名称和位置由同一个 URL(统一资源定位符,它是 URI 的一种)来标识。也有某些特殊情况,资源的名称和位置由不同的 URI 进行标识:例如,待请求的资源希望客户端从另外一个位置访问它。我们可以使用一个特定的首部字段,Alt-Svc,来指示这种情况。

3)URI 的最常见形式是统一资源定位符 (URL),它也被称为 Web 地址。
URL 由多个必须或可选的组件构成。

四、典型的http会话

在像 HTTP 这样的 Client-Server(客户端 - 服务器)协议中,会话分为三个阶段:
客户端建立一条 TCP 连接(如果传输层不是 TCP,也可以是其他适合的连接)。
客户端发送请求并等待应答。
服务器处理请求并送回应答,回应包括一个状态码和对应的数据。
从 HTTP/1.1 开始,连接在完成第三阶段后不再关闭,客户端可以再次发起新的请求。这意味着第二步和第三步可以连续进行数次。

五、http请求方法

HTTP 请求方式
可以使用 HTTP: GET,POST 方式来完成不同操作,或是一些不太常见的请求方式,像是: OPTIONS,DELETE 和 TRACE。

1)HTTP GET 方法请求指定的资源。使用 GET 的请求应该只用于获取数据。
2)HTTP HEAD 方法 请求资源的头部信息,并且这些头部与 HTTP GET 方法请求时返回的一致。该请求方法的一个使用场景是在下载一个大文件前先获取其大小再决定是否要下载,以此可以节约带宽资源。
3)HTTP 的 OPTIONS 方法 用于获取目的资源所支持的通信选项。客户端可以对特定的 URL 使用 OPTIONS 方法,也可以对整站(通过将 URL 设置为“*”)使用该方法。
4)请求方法 PATCH 用于对资源进行部分修改。
5)HTTP POST 方法 发送数据给服务器。请求主体的类型由 Content-Type 首部指定。
PUT 和POST方法的区别是,PUT 方法是幂等的:连续调用一次或者多次的效果相同(无副作用)。连续调用同一个 POST 可能会带来额外的影响,比如多次提交订单。

六、HTTP 状态码

HTTP 状态码用来表示特定的 HTTP 请求是否已成功完成。
响应分为五类:消息响应,成功响应,重定向,客户端错误和服务器错误。

相关内容

热门资讯

【MySQL】锁 锁 文章目录锁全局锁表级锁表锁元数据锁(MDL)意向锁AUTO-INC锁...
【内网安全】 隧道搭建穿透上线... 文章目录内网穿透-Ngrok-入门-上线1、服务端配置:2、客户端连接服务端ÿ...
GCN的几种模型复现笔记 引言 本篇笔记紧接上文,主要是上一篇看写了快2w字,再去接入代码感觉有点...
数据分页展示逻辑 import java.util.Arrays;import java.util.List;impo...
Redis为什么选择单线程?R... 目录专栏导读一、Redis版本迭代二、Redis4.0之前为什么一直采用单线程?三、R...
【已解决】ERROR: Cou... 正确指令: pip install pyyaml
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
Lock 接口解读 前置知识点Synchronized synchronized 是 Java 中的关键字,...
Win7 专业版安装中文包、汉... 参考资料:http://www.metsky.com/archives/350.htm...
3 ROS1通讯编程提高(1) 3 ROS1通讯编程提高3.1 使用VS Code编译ROS13.1.1 VS Code的安装和配置...
大模型未来趋势 大模型是人工智能领域的重要发展趋势之一,未来有着广阔的应用前景和发展空间。以下是大模型未来的趋势和展...
python实战应用讲解-【n... 目录 如何在Python中计算残余的平方和 方法1:使用其Base公式 方法2:使用statsmod...
学习u-boot 需要了解的m... 一、常用函数 1. origin 函数 origin 函数的返回值就是变量来源。使用格式如下...
常用python爬虫库介绍与简... 通用 urllib -网络库(stdlib)。 requests -网络库。 grab – 网络库&...
药品批准文号查询|药融云-中国... 药品批文是国家食品药品监督管理局(NMPA)对药品的审评和批准的证明文件...
【2023-03-22】SRS... 【2023-03-22】SRS推流搭配FFmpeg实现目标检测 说明: 外侧测试使用SRS播放器测...
有限元三角形单元的等效节点力 文章目录前言一、重新复习一下有限元三角形单元的理论1、三角形单元的形函数(Nÿ...
初级算法-哈希表 主要记录算法和数据结构学习笔记,新的一年更上一层楼! 初级算法-哈希表...
进程间通信【Linux】 1. 进程间通信 1.1 什么是进程间通信 在 Linux 系统中,进程间通信...
【Docker】P3 Dock... Docker数据卷、宿主机与挂载数据卷的概念及作用挂载宿主机配置数据卷挂载操作示例一个容器挂载多个目...