你真的了解http,https吗万字长文带你深入了解http!腾讯云开发者社区

大家好,又见面了,我是你们的朋友全栈君。

注意: 客户端与服务器的角色不是固定的,一端充当客户端,也可能在某次请求中充当服务器。这取决与请求的发起端。HTTP协议属于应用层,建立在传输层协议TCP之上。客户端通过与服务器建立TCP连接,之后发送HTTP请求与接收HTTP响应都是通过访问Socket接口来调用TCP协议实现。

协议

无状态

客户端/服务端模型

七层网络模型

以下是 HTTP 请求/响应的步骤:

例如:在浏览器地址栏键入URL,按下回车之后会经历以下流程:

基于 请求-响应 的模式

无状态保存

无连接

URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。

URI一般由三部组成:

URL是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。

URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,特别是著名的Mosaic。

URL一般由三部组成:

URL,全称是UniformResourceLocator, 中文叫统一资源定位符,是互联网上用来标识某一处资源的地址。以下面这个URL为例,介绍下普通URL的各部分组成:

从上面的URL可以看出,一个完整的URL包括以下几部分:

Http请求消息结构

服务端响应客户端格式:状态行,响应头,响应体

Http响应消息结构

分类

分类描述

1**

信息,服务器收到请求,需要请求者继续执行操作

2**

成功,操作被成功接收并处理

3**

重定向,需要进一步的操作以完成请求

4**

客户端错误,请求包含语法错误或无法完成请求

5**

服务器错误,服务器在处理请求的过程中发生了错误

但一般我们只需要知道几个常见的就行,比如 :

方法

描述

GET

GET请求会显示请求指定的资源。一般来说GET方法应该只用于数据的读取,而不应当用于会产生副作用的非幂等的操作中。它期望的应该是而且应该是安全的和幂等的。这里的安全指的是,请求不会影响到资源的状态。

POST

向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。

PUT

PUT请求会身向指定资源位置上传其最新内容,PUT方法是幂等的方法。通过该方法客户端可以将指定资源的最新数据传送给服务器取代指定的资源的内容。

PATCH

DELETE

DELETE请求用于请求服务器删除所请求URI(统一资源标识符,Uniform Resource Identifier)所标识的资源。DELETE请求后指定资源会被删除,DELETE方法也是幂等的。

OPTIONS

允许客户端查看服务器的性能。

CONNECT

HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。

HEAD

类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头。

TRACE

回显服务器收到的请求,主要用于测试或诊断。

注意事项:

注意最后一行是空行

POST提交:把提交的数据放置在是HTTP包的包体中。上文示例中红色字体标明的就是实际的传输数据

2. 传输数据的大小

3. 安全性

我们看看GET和POST的区别

名称

作用

Content-Type

请求体/响应体的类型,如:text/html、application/json

Accept

说明接收的类型,可以多个值,用,(半角逗号)分开

Content-Length

请求体/响应体的长度,单位字节

Content-Encoding

请求体/响应体的编码格式,如gzip,deflate

Accept-Encoding

告知对方我方接受的Content-Encoding

ETag

给当前资源的标识,和Last-Modified、If-None-Match、If-Modified-Since配合,用于缓存控制

Cache-Control

取值为一般为no-cache或max-age=XX,XX为个整数,表示该资源缓存有效期(秒)

常见的媒体格式类型如下:

Content-Type(Mime-Type)

描述

text/html

HTML格式

text/plain

纯文本格式

text/xml

XML格式

image/gif

gif图片格式

image/jpeg

jpg图片格式

image/png

png图片格式

以application开头的媒体格式类型:

Content-Type(Mime-Type)

描述

application/xml

XML数据格式

application/json

JSON数据格式

application/pdf

pdf格式

application/msword

Word文档格式

application/octet-stream

二进制流数据(如常见的文件下载)

application/x-www-form-urlencoded

form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)

multipart/form-data

需要在表单中进行文件上传时,就需要使用该格式

名称

作用

Authorization

用于设置身份认证信息

User-Agent

用户标识,如:OS和浏览器的类型和版本

If-Modified-Since

值为上一次服务器返回的 Last-Modified 值,用于确认某个资源是否被更改过,没有更改过(304)就从缓存中读取

If-None-Match

值为上一次服务器返回的 ETag 值,一般会和If-Modified-Since一起出现

Cookie

已有的Cookie

Referer

表示请求引用自哪个地址,比如你从页面A跳转到页面B时,值为页面A的地址

Host

请求的主机和端口号

名称

作用

Date

服务器的日期

Last-Modified

Transfer-Encoding

取值为一般为chunked,出现在Content-Length不能确定的情况下,表示服务器不知道响应版体的数据大小,一般同时还会出现Content-Encoding响应头

Set-Cookie

设置Cookie

Location

Server

后台服务器

所以应充分利用两者各自的优势, 将多种方法组合起来用于通信。 在交换密钥阶段使用公开密钥加密方式,之后的建立通信交换报文阶段 则使用共享密钥加密方式。

HTTPS握手过程的简单描述如下:

客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤,如图所示。

THE END
0.CATTI三级笔译备考日记(四):十分特别极其重要的三个功能词:as、v+它是由介词with或without+复合结构构成,复合结构作介词with或without的复合宾语,复合宾语中第一部分宾语由名词或代词充当,第二部分补足语由形容词、副词、介词短语、动词不定式或分词充当,分词可以是现在分词,也可以是过去分词。 With结构构成方式如下: 1. with或without-名词/代词+形容词; jvzquC41yy}/lrfpuj{/exr1r1kec<:65gi37A
1.语言学概论D上202402291)语言是由语音形式、语义内容、结构关系三个方面构成的统一体,三个方面缺一不可,互相作用,构成了语言。 语音是语言的形式部分,词汇是语言的意义部分,语法是语言单位的关系部分,说的是符号与符号怎样组合的问题。 三个部分在语言中的作用: 没有语音形式,语言无法存在; jvzquC41yy}/lrfpuj{/exr1r1<79kidh4j13@
2.反相器和非门有什么区别电子常识这些报道多数都是 HPM 效应实验的结果描述和规律统计,而针对具体效应与规律进行机理分析和微观解释的研究则相对较少。 组成结构: 典型TTL与非门电路电路组成 输入级——晶体管T1和电阻Rb1构成。 中间级——晶体管T2和电阻Rc2、Re2构成。 输出级——晶体管T3、T4、D和电阻Rc4构成,推拉式结构,在正常工作时,T4和T3jvzquC41yy}/gujehctt0lto1cxuklqg1:>03@6142711;53:273;?775:9/j}rn
3.计算机网络面试抗干扰性好,接入复杂计算机网络由哪些部分组成,什么是通信子网和资源子网?试述这种层次结构观的特点以及各层的作用是什么? 通信控制处理机构成的通信子网是网络的内层,或骨架层,是网络的重要组成部分。网上主机负责数据处理,是计算机网络资源的拥有者,它们组成了网络的资源子网,是网络的外层,通信子网为资源子网提供信息传输服务,资源子网上用jvzquC41dnuh0lxfp0tfv8vsa5>35@67:1gsvrhng1jfvjnnu1726=97677
4.REITs的结构、类型与收益——REITs系列研究之一以美国为例,截止2019年末,全美总计有217只REITs产品,总市值达1.74万亿美元,其中,权益型REITs数量为175只,市值规模在整体中占比达95.6%。此外,由于法律体系存在差异,各地区REITs产品的组织类型有所区别,美国以伞形结构和公司制为主,而亚洲主要采用契约型。jvzquC41v071lzpc0eun0ls1rkj`4;7499=247xjvor
5.县域经济和区域经济的区别范文所有制结构也构成区别县域经济发展模式的一项重要内容。不同的县域经济发展往往在所有制结构上表现出很大的差异,有的模式表现为以集体所有制为主体的国有、集体、个体以及外资经济成分的混合所有制;而有的县域经济发展模式则表现为个体所有制占较大比重的国有、集体、个体和私营经济并存。 jvzquC41yy}/i€~qq0ipo8mcqyko1:>;55=/j}rn
6.球结膜与角膜的区别陶远医生的语音科普球结膜与角膜的区别_语音科普_陶远医生_副主任医师_眼科_济南市第二人民医院。妙手医生是全国首个医生语音健康教育平台,由全国知名医生专家本人录制。医生主讲要点:球结膜和角膜都是构成眼表的重要结构,但是两者还是有很大区别的。角膜是指我们眼睛黑眼球表面这一部分,它jvzquC41yy}/orfqujuv0wjv1xujen46467497mvon
7.什么是单结晶体管,单结晶体管和场效应晶体管的区别是什么?单结晶体管(BJT)是一种半导体器件,常用于放大电流信号和进行开关控制。它由三个区域(一个P区和两个N区或一个N区和两个P区)构成,其中的中间区域被称为基区。BJT的结构类似于两个二极管的反向串联。 BJT有三个引脚:发射极、基极和集电极。当基极接受到一个正向电压时,会导致基区与发射区之间的PN结正向偏置,从jvzquC41yy}/kl890eun1kfkmg5ecwokglooi}niwct0
8.“法轮功”与邪教之比较:“法轮功”具有邪教的性质和特点一、“法轮功”的结构与功能分析 “法轮功”是个什么样的东西,通过广泛深入的揭露,其本质现在已经看得非常清楚了。其流毒之广之深之迅速,号召力之强,欺骗性之大,触目惊心,发人深省。从“法轮功”的结构与功能来看,有四种构成和四个特征。 (一)“法轮功”的四种构成 jvzquC41yy}/eqnpcpkxu7hqo0io1;523/64/9714858796;0jznn
9.单一结构和独体字区别两者有什么不同独体结构是只由一个部分组成,没有其他任何的分拆或组合的结构。例如日和月都是独体结构。单一结构则是指一个汉字只有一个结构单位,但这个结构单位可以是独体结构,也可以是由两个或多个部分组成的合体结构。 单一结构和独体字区别 构成不同 独体字是以笔画为直接单位构成的汉字,它是一个囫囵的整体,切分不得,从图jvzq<84yyy4dj~xcp0ipo8jqpmlcx45599187mvon
10.智造讲堂:智能控制硬件系统控制系统工业自动化控制文章3)PAC与PLC的主要区别 ①PAC的性能是基于它的轻便控制引擎和标准、通用、开放的实时操作系统、嵌入式硬件系统设计以及背板总线。 ②PAC采用通用的实时操作系统,采用标准、通用的嵌入式硬件系统结构设计,其处理器可以使用高性能CPU。 ③PAC系统的编程软件为同一平台,包括逻辑控制、运动控制、过程控制和人机界面等各功能。jvzquC41ctzjeuju0g3xq{pu0pku0ls1eqtutxqau{yugv4ctvodnn6744>90qyo