http

HTTP1.0、HTTP 1.1、HTTP 2.0主要区别 HTTP1.0、HTTP 1.1、HTTP 2.0之间的主要区别 HTTP1.0与HTTP 1.1的主要区别 长连接 节约带宽 HOST域 HTTP1.1与HTTP 2.0的主要区别 多路复用 数据压缩 服务器推送 一、HTTP1.0与HTTP 1.1的主要区别 长连接 HTTP 1.0需要使用keep-alive参数来告知服务器端要建立一个长连接,而HTTP1.1默认支持长连接。HTTP 阅读详情

http协议是一种超文本传输协议,是一种请求,响应式的协议。

http协议的特点:

1. 支持客户端(浏览器)/服务器模式

2. 简单快速:客户端向服务器请求服务时,只需传送请求方式和路径

3. 灵活,http允许传输任意类型的数据

4. 无状态,http是无状态协议,无状态是指对事物处理没有记忆能力

http消息

1. 当浏览器向服务器发送请求数据的时候,即http请求消息

2. 服务器向浏览器回送处理后的数据,即http响应消息

3.1HTTP请求消息

http请求行

http请求行包含三个部分:请求方式,资源路径,http版本

最常用的请求方式:GET ,POST,但是请求方式有八种

请求方式

含义

GET

请求获取请求行的URI所标识的资源

POST

向指定资源提交数据,请求服务器进行处理

HEAD

请求获取由URI所标识资源的响应消息头

PUT

将网页放置到指定URI位置(上传/移动)

DELETE

请求服务器删除URI所标识的资源

TRACE

请求服务器回送收到的请求信息,主要用于测试或者诊断

CONNECT

保留将来使用

OPTIONS

请求查询服务器的性能,或者查询与资源相关的选项和需求

注意:网页上的表单默认的请求方式是GET,

POST的特点:

1.      传输数据无大小限制

GET方式是通过请求参数传递数据的,所以最多传递不超过1kb的数据

POST方式是通过实体内容传递数据的

2.      POST比GET请求方式更安全

GET请求方式的参数信息都会在URI地址栏明文显示

POST请求方式隐藏在实体内容中

http请求消息头在http请求行之后

http请求消息头主要用于向服务器传送附加消息,如客户端可以接受的数据类型,压缩方法,语言以及发送请求的超链接所属页面的URI地址信息

常用的HTTP请求头字段

1.Accept :指出客户端可以接受的数据类型

  Accept:text/html 表明客户端希望接受HTML文本

  Accept:image/gif 表明客户端希望接受Gif格式的图像资源

  Accept:image/*  表明客户端可以接受所有image格式的子类型

 Accept:*/*      表明客户端可以接受所有格式的内容

2.Accept-Charset 用于告知服务器端,客户端所使用的字符集

3.Accept-Encoding 用于指定客户端能够进行解码的数据编码方式

4.Accept-Language 客户端期望服务器返回那个国家语言的文档

5.Host 指定资源所在的主机名和端口号

6.If-Match 可以附带以前缓存的实体标签内容,这个请求被视为一个条件请求

7.Range和If-Range 指定服务器只需返回文档中的部分内容及内容范围,适用于断点续传

8.Max-Forward 指定当前请求可以经过的代理服务器数量,每经过一个,该数值减1

9.Referer 当单击超链接向服务器发送GET请求时,浏览器会在发送的请求中带上该字段(可用于防止盗链)

10.User-Agent 指定浏览器或者其他客户端程序所使用的操作系统及版本,浏览器及版本,浏览器渲染引擎,浏览器语言等

3.2HTTP响应消息

HTTP响应消息包括响应状态行,响应消息头,实体内容

1.      响应状态行包括HTTP版本,状态码,对状态码描述的文本信息

状态码:

1xx:表示请求已经接受,需要继续处理

2xx:表示请求已成功被服务器接收,理解并接受

3xx:为完成请求,客户端需进一步细化请求

4xx:客户端的请求有错误

5xx:服务器端出现错误

常用的状态码:

200 (正常):客户端请求成功 响应消息返回正常的请求结果

400(请求无效):客户端有不正确的语法格式(用Ajax提交的时候,因为前后端封装的对象属性不一样,会造成400)

403(禁止):服务器理解客户端的请求,但是拒绝处理

404(找不到):表示服务器不存在客户端请求的资源

500(内部服务器错误):大部分情况下是服务器端的CGI,jsp, ASP出现错误

2.      响应消息头

服务器向客户端传递附加信息,包括服务程序名,被请求资源需要的认证方式,重定向地址,客户端请求资源的最后修改时间等

常见的响应消息头:

1.Accept-Range 说明服务器是否接收客户端使用Range请求头字段请求资源

2.Age 指出当前网页文档可以在客户端或代理服务器中缓存的有效时间

3.Etag 用于向客户端传送代表实体内容特征的标记信息,这些标记信息也称为实体标签

每个版本资源的实体标签是不同的,通过这个标签可以判断不同时间下,同一资源路径下的实体内容是否相同

4.Location 用于通知客户端获取请求文档的新地址

5.Retry-After 该字段可以与503状态码配合使用,告诉客户端什么时候可以重新发送请求,也可以与任何一个3xx状态码配合使用,告诉客户端处理重定向的最小延时时间

6.Server 用于指定服务器软件产品的名称

7.Vary 用于指定影响了服务器所生成的响应内容的那些请求头字段名

8.Refresh 用于告诉浏览器自动刷新页面的时间,是以秒为基本单位

9.Content-Disposition 用于服务器希望浏览器直接处理响应的实体内容,而是让用户选择将实体内容保存到一个文件中

3.3HTTP其他字段

通用头字段

1.Cache-Control  用于通知位于客户端与服务器之间的代理服务器如何使用已缓存的页面

2.Connection 用于指定处理完本次请求/响应后,客户端与服务器是否还要保持连接

3.Date 用于表示HTTP消息产生的当前时间

4.Pragma 通知代理服务器和客户端如何使用缓存页面-

5.Transfer-Encoding 通过该字段通知客户端响应数据的长度,因为HTTP1.1协议是持久化协议

6.Via 用于指定HTTP消息所途径的代理服务器所使用的协议与主机名

7.Warning 用于说明其他头字段和状态码不能说明的一些警告信息

实体头字段

1.Allow 指定请求资源所支持的请求方式

2.Content-Language 用于指定返回网页文档的国家语言类型

3.Content-Length 用于表示实体内容的长度

4.Content-Location 用于指定响应消息中实体内容的实际位置路径(当一个请求资源有多个国家语言版本的时候,每个国家语言版本都有自己的位置,这时,请求资源路径和响应的实体内容的实际位置路径可能是不同的)

5.Content-Type 用于指出实体内容的MIME类型(多用途互联网邮件扩展类型),HTTP中采用MIME来标识不同的数据类型,MIME类型包含主类型和子类型,两者之间用”/”隔开,也可以用”*”号通配符,MIME类型后面还可以指定响应内容中的字符码表,数据类型与字符码表之间用”;”隔开

客户端通过检查该字段就可以知道实体内容代表哪种格式的数据类型,tomcat中web.xml文件中有大量的<mime-mapping>元素,来实现文件扩展名和MIME类型的映射

6.Content-Encoding 用于指定实体内容的压缩编码格式,服务器端对实体内容的压缩不影响实体内容的MIME类型,被压缩的实体内容在客户端被解压的时候,MIME类型与Content-Type头字段指定的类型一致





Linux下HTTP通信简析及实现HTTP服务器 在Linux下我们使用HTTP协议进行通讯,即客户端在浏览器请求服务器的某个服务(页面)。我们在主机上进行测试的时候,可以开启httpd服务以处理客户端的请求,一般来说我们的页面放在/var/www/html底下,我们这些操作需要切换到root用户。 开启httpd服务  :  service  httpd  start 查看httpd状态  :  service  httpd  statu... 阅读详情

相关推荐

Http1.1、Http2 和 Http3

HTTP协议演进对比摘要: HTTP/1.1(1997):基于TCP,存在严重队头阻塞,需建立多个连接,明文传输低效。 HTTP/2(2015):引入二进制分帧和单连接多路复用,使用HPACK压缩头部,支持服务器推送,但仍存在TCP层队头阻塞。 HTTP/3(2022):改用QUIC协议(UDP),彻底解决队头阻塞,实现0-RTT快速连接和网络切换时的连接迁移,采用QPACK头部压缩。 当前HTTP/2是主流标准,HTTP/3正在快速普及,特别适用于高要求场景。

guigenyi的专栏 1716

javaweb知识点总结

javaweb总结(个人总结)

w1405720461的博客 3622

OpenHarmony 5.1 RK3568 开发板烧录:从源码编译到镜像写入的 6 步实战

本文详细解析了OpenHarmony 5.1在RK3568开发板上的全链路开发流程,包括环境搭建、源码编译、镜像烧录等6个关键步骤。通过实战指南和避坑技巧,帮助开发者快速掌握OpenHarmony系统的烧录与定制能力,提升物联网设备开发效率。

weixin_33722405的博客 343

HTTP协议练习题

本文介绍了HTTP协议的基本概念和相关知识。HTTP是一种简单的请求-响应协议,运行在TCP之上,规定了客户端与服务器之间的通信方式。文章通过单选题和多选题的形式,考察了HTTP状态码、请求方法、消息头字段等核心内容。重点包括:1)常见状态码如200(成功)、404(未找到)、500(服务器错误)等;2)GET和POST请求方法的区别;3)HTTP消息头的功能与应用场景;4)HTTP 1.1协议的改进特性。通过这些问题,读者可以系统掌握HTTP协议的基本工作原理和实际应用。

weixin_48053866的博客 1万+

PHP实战:5分钟搞定SM4国密加密算法集成(附完整代码)

本文详细介绍了如何在PHP项目中快速集成SM4国密加密算法,提供完整的代码实现和实际应用示例。从算法原理到核心代码解析,再到性能优化与安全实践,帮助开发者高效实现数据加密功能,满足金融、政务等领域的合规需求。

weixin_29315569的博客 354

一文读懂客户健康度

什么是客户健康度?客户健康度为什么重要?怎么计算客户健康度?这篇文章,我们来聊聊。

m0_62700043的博客 1420

javaweb题库

Filter的执行顺序和Filter在web.xml文件中的位置先后无关,只和mapping的顺序有关,谁的mapping在前,就先执行谁。JDBC的全称是Java数据库连接 (Java Database connect),它是一套用于执行SQL语句的Java API。A.userName1属性的值为:unknown userName2属性的值为: username2。用户在浏览器地址栏中键入正确的请求URL并回车后,在控制台上显示的结果是(公司下的开源连接池实现,也是Tomcat服务器使用的连接池组件。

yy12265917的博客 2649

基于FPGA的数字图像处理-直方图操作【3.3】

对于固定的位宽和图像分辨率来说,这个计算过程是 可定量的,也就是这个归一化系数是已知的。1.直方图累计和 根据数学定义,直方图累加和的定义是小于指定像素的所有像素 的统计值之和。在实际应用中,处理帧缓存是费时费力费资源的一件事情,在许 多情况下,图像的变换比较慢,在这种情况下的一个近似是当建立当 前帧的直方图统计结果时使用从前一帧得到的映射。由测试结果可见,这两幅过曝光和曝光不足的图像,经过均衡化 之后的效果图差别不大,对比度都非常高,设计代码达到了预期的均 衡目的。累加和的计算情况如图6-28所示。

qq_43416206的博客 1127

Javaweb学习笔记(http协议)

Javaweb学习笔记(http协议)HTTP消息HTTP请求消息HTTP请求行GET方式POST方式HTTP请求头HTTP响应消息HTTP响应消息头 HTTP消息 当用户在浏览器中访问某个URL时、点击链接等操作,浏览器都会向服务器提交表单,即HTTP请求消息,服务器接受数据,将数据传回客户端,叫做HTTP响应消息。 HTTP请求消息 HTTP请求行 HTTP请求行包括三个部分:请求方式,资源路径,所使用的的HTTP版本 例: GET /index.html HTTP/1.1 GET是请求方式, /in

qq_50834939的博客 2404

C#串口通信从入门到精通(27)——高速通信下解决数据处理慢的问题(20ms以内)

本文介绍如何在高速通信情况下解决串口接收的数据来不及处理的问题,由高级工程师多年经验总结而成,绝对是串口领域的实战经验!

qq_34059233的博客 6810

【车载以太网】【AVB/TSN】IEEE802.1Qav队列及转发协议

目录 一、概述 二、优先级排队算法 三、基于信用的流量整形算法 一、概述 IEEE 802.1Qav 队列及转发协议(Qav)针对不同数据流选择不同的传输选择算法来保障对时间敏感的 AV 数据流的实时传输。为了避免传统的异步以太网数据流量与 AVB 流量之间对网络资源的竞争,AVB 交换机内使用优先级排队算法和基于信用的流量整形算法实现数据流的调度。 二、优先级排队算法 优先级排队算法主要用于传统以太网数据流(BE, Best Effort)的调度传输,BE 流通过基于优先级...

专注汽车软件开发、AutoSAR、车载以太网、SOA、EE架构。 4688

【编号0002】请求头都含有哪些内容字段,怎么理解?

更新时间,来一篇关于请求头的内容介绍 首先,什么是请求头?这里指的是HTTP 1 版本中的请求信息的头部内容,注意,不含主体 0. 背景说明 客户端:你的浏览器 服务器:指的是网站服务器 请求:客户端发送给服务器 响应:服务器发给客户端 下图中给出的内容,就是关于请求头的一个示例,抓包工具是浏览器 > 调试工具 > 网络栏: 先看图中内容,高亮区域有三个框,分别是...

u010531178的专栏 2333

ESP32-C3入门教程 环境篇②——Windows开发环境准备

文章目录一、注意事项二、下载ESP-IDF工具安装器三、安装内容四、详细安装步骤报错处理 一、注意事项 请注意 ESP-IDF 和 ESP-IDF 工具的安装路径不能超过 90 个字符,安装路径过长可能会导致构建失败。 Python 或 ESP-IDF 的安装路径中一定不能包含空格或括号。 除非操作系统配置为支持 Unicode UTF-8,否则 Python 或 ESP-IDF 的安装路径中也不能包括特殊字符(非 ASCII 码字符、中文字符) 二、下载ESP-IDF工具安装器 ESP-IDF Win

5244

HTTP

HTTP

ljw的博客 5569

深度强化学习在足式机器人中的应用 (一):基础原理与仿真环境

我们将首先深入探讨其背后的核心挑战与技术栈,然后详细推导机器人学和强化学习的基本数学原理,特别是剖析在机器人控制领域表现卓越的PPO算法。下面的独立Python脚本展示了Isaac Gym的基本API用法,加载一个Go1机器人(假设URDF已准备好),并让它执行一个简单的预设动作(正弦波运动),以此来熟悉仿真流程。:代码的核心是直接操作GPU上的PyTorch张量,避免了CPU和GPU之间的数据拷贝,这是实现高性能的关键。:所有计算(如伪策略中的正弦波计算)都应该是向量化的,一次性为所有。

VectorShift的博客 228

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

HTTP、 HTTP1.1、 HTTP/2的区别

HTTP、 HTTP1.1、 HTTP/2的区别

weixin_38247460的博客 21万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

HTTP详解

HTTP详解

7137

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

网络传输协议之:Http1、Http2、Http3

一、什么是HTTP? HTTP(HyperText Transfer Protocol),是超文本传输协议,是目前互联网上要用最广泛的一种网络协议,所有的 WWW文件都必须遵守该标准。HTTP又使用了可靠的数据传输协议TCP协议,不会产生数据丢失和损坏。(HTTP协议属于应用层协议) HTTP的工作流程 浏览器与服务器建立TCP连接,即三次握手 TCP连接成功,浏览器发出HTTP请求命令 服务端接收请求并返回HTTP响应 服务器关闭连接,即四次挥手 浏览器解析请求的资源 connection:

qq_45923489的博客 1万+

HTTP协议——HTTP概述

《HTTP协议基础》这些博文是我记录自己学习过程中的一些笔记,参考书籍为《图解HTTP》一、Web页面生成原理        当我们在浏览器的地址栏中输入网址,然后点击回车,接着,浏览器就会呈现出我们需要的web界面,那么,这个界面是怎么产生的?web的界面是根据我们输入的URL(网址、地址),浏览器从服务器端获取对应的文件资源等信息,然后显示在浏览器上面。像这种通过发送请求获取服务器资源的web...

vikeyyyy的博客 5120

http1.0 http1.1 http2 之间的区别

** 一、HTTP基础 ** HTTP定义 HTTP协议(HyperTextTransferProtocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传输协议。 HTTP发展史 HTTP的基本优化 影响一个 HTTP 网络请求的因素主要有两个:带宽和延迟。 带宽:如果说我们还停留在拨号上网的阶段,带宽可能会成为一个比较严重影响请求的问题,但是现在网络基础建设已经使得带宽得到极...

zhaohong_bo的专栏 2271

HTTP发展史,HTTP1.1与HTTP2.0的区别

前言 我们知道HTTP是浏览器中最重要且使用最多的协议,它不仅是浏览器与服务端的通信语言,更是互联网的基石。随着浏览器的不断更新迭代,HTTP为了适应技术的更新也在不断进化,学习HTTP的最佳途径就是从浏览器的发展视角来了解HTTP的演进:即将完成使命的HTTP/1、正在向我们走来的HTTP/2、未来的HTTP/3 如果这篇文章有帮助到你,❤️关注+点赞❤️鼓励一下作者,文章公众号首发,关注 前端南玖 第一时间获取最新文章~ HTTP发展史 HTTP 是浏览器与服务端最主要的通信协议 20 世纪 60 年代

南玖的博客 4476

HTTP协议之:HTTP/1.1和HTTP/2

HTTP的全称是Hypertext Transfer Protocol,是在1989年World Wide Web发展起来之后出现的标准协议,用来在WWW上传输数据。HTTP/1.1是1997年在原始的HTTP协议基础上进行的补充和优化。

程序那些事 1万+

HTTP/1:HTTP性能优化

谈及浏览器中的网络,就避不开 HTTP。我们知道 HTTP 是浏览器中最重要且使用最多的协议,是浏览器和服务器之间的通信语言,也是互联网的基石。而随着浏览器的发展,HTTP 为了能适应新的形式也在持续进化,我认为学习 HTTP 的最佳途径就是了解其发展史,所以在接下来的三篇文章中,我会从浏览器发展的视角来和你聊聊 HTTP 演进。这三篇分别是即将完成使命的 HTTP/1、正在向我们走来的 HTTP/2,以及未来的 HTTP/3。 本文主要介绍的是 HTTP/1.1,我们先讲解 HTTP/1.1 的进化史,

知之为知之,不知为不知 6894

HTTP1、HTTP1.1、http2、http3的区别

我们知道HTTP/1和HTTP/2都是使用TCP协议来传输的,而如果使用HTTPS的话,还需要使用TLS协议进行 安全传输,而使用TLS也需要一个握手过程,这样就需要有两个握手延迟过程。这不同于HTTP/1.1,使用HTTP/1.1时,浏览器为每个域名开启了6个TCP连接,如果其中的1个TCP连接发生了队头阻塞,那么其他的5个连接依然可以继续传 输数。从上图可以看出,HTTP的持久连接可以有效减少TCP建立连接和断开连接的次数,这样的好处是减少了服务器额外的负担,并提升整体HTTP的请求时间。

lzg_na的博客 1856

HTTP 总结

目录HTTP介绍HTTP工作原理HTTP请求报文HTTP响应报文额外知识 HTTP介绍 (1)HTTP(HyperText Transfer Protocol 超文本传输协议)是用于从万维网服务器传输超文本到本地浏览器的传送协议。 (2)HTTP基于TCP/IP协议模型来传递数据。 HTTP工作原理 (1)HTTP工作于CS架构上,浏览器作为HTTP客户端通过URL (HTTP通过URL来传输...

L*YUE的博客 3502

[HTTP] HTTP是什么

HTTP是什么 HTTP是什么 HTTP全称为HyperText Transfer Protocol,被译为超文本传输协议,是互联网上应用最为广泛的一种网络协议。 HTTP协议是在Web上进行数据交换的基础,是一种“客户端–服务器端”协议。也就是说,请求通常是由像浏览器这样的接受方发起的。一个完整的Web文档通常是由不同的子文档拼接而成的,像是文本、布局描述、图片、视频、脚本等等。   HTTP协议历史与标准 HTTP/0.9: 1991年制定,有严重设计缺陷,只支持GET方法,不支持MIME类

DeathDomain的博客 3835
上一篇: tomcat的基础与使用
下一篇: 请求转发与请求重定向
香草味小布丁
博客等级 码龄10年 461粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值