兴发娱乐登录

首页 > 正文

详解HTTP(HTTP知识总结)

www.festadoboderei.com2019-08-16

本文的主要内容

什么是HTTP?

网址详情

HTTP请求文章

HTTP响应文章

1.1概述

HTTP的全称是:超文本传输协议,自1990年以来在WWW中被广泛使用。它是目前WWW上使用最广泛的协议。 HTTP是一种应用层协议。当您浏览Web,浏览器和Web时,服务器通过HTTP在Internet上发送和接收数据。 HTTP是基于请求/响应模式的无状态协议。这就是我们通常称之为请求/响应

1.2特点

支持客户端/服务器模式

简单快速:当客户端从服务器请求服务时,它只需要传递请求方法和路径。由于HTTP协议很简单,HTTP服务器的程序大小很小,因此通信速度非常快

灵活:HTTP允许传输任何类型的数据对象。正在传输的类型由Content-Type

标记

无连接:无连接意味着限制每个链路只处理一个请求。在服务器处理客户端的请求并从客户端收到响应后,它会断开链接,从而以这种方式节省传输时间

无状态:HTTP协议是无状态协议。无状态意味着协议没有用于事务处理的内存。缺少状态意味着如果后续处理需要先前的信息,则必须重新传输,这可能导致每个连接传输的数据量增加。另一方面,当服务器不需要先前的信息时,它响应更快

2.1简介

URL(统一资源定位符)是统一资源定位符的缩写,有时称为Web地址(URL),作为Internet上的门牌号,是Internet上标准资源的地址

2.2基本构成

通用格式:

名称

功能

方案

访问服务器以获取资源时使用的协议,例如http,https,FTP等

宿主

HTTP服务器的IP地址或域名

端口#

HTTP服务器的默认端口是80.在这种情况下,可以省略端口号。如果使用另一个端口,则必须指定它,例如

路径

访问资源的路径

查询字符串

数据发送到http服务器

举个例子

其中

名称

相应的字段

方案

HTTPS

宿主

路径

/comtainerlist

查询字符串

T=postlist&安培; P=0

东西

让我们拍一张更直观的照片

1637794-82f79a028f7f1cc7.png

网址构成

HTTP请求消息分为三个部分:请求行,请求头和请求主体。

1637794-e83fe0d460eade5c.png

请求消息

3.1请求行

请求行分为三个部分:请求方法,请求地址和协议版本。

请求方法

HTTP/1.1协议中定义了八种方法(也称为“操作”),以不同的方式操作指定的资源。

方法名称

功能

GET

向指定资源发出“显示”请求,使用GET方法只应用于读取数据,不应在产生“副作用”的操作中使用

POST

指定资源提交数据并请求服务器处理它(例如,提交表单或上传文件)。数据包含在请求文本中。此请求可以创建新资源或修改现有资源,或两者兼而有之。

PUT

将他们的最新内容上传到指定的资源位置

DELETE

请求服务器删除Request-URI

标识的资源

OPTIONS

使服务器返回资源支持的所有HTTP请求方法。使用*而不是资源名称向Web服务器发送OPTIONS请求,以测试服务器功能是否正常工作。

HEAD

与GET方法一样,它是将指定资源发送到服务器的请求,但服务器不会传回资源的一部分。优点是该方法可用于获得内容而无需传输整个内容。有关资源的信息(原始信息或元数据)

TRACE

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

CONNECT

HTTP/1.1保留用于可以将连接更改为通道模式的代理服务器。通常用于SSL加密服务器的链接(通过未加密的HTTP代理服务器)

其中,最常见的是GET和POST方法。如果它是RESful接口,它通常会使用PUT,DELETE,GET,POST(对应于添加,删除和修改)

3.2请求负责人

请求标头可用于以格式传递一些其他信息:注意冒号后面有空格:

1637794-18bd9012c09e2563.png

请求标题

请求和响应的通用和通用标头

名称

作用

内容类型

请求正文/响应正文的类型,例如:text/plain,application/json

接受

解释接收的类型,可以是多个值,用(逗号)分隔(

内容长度

请求正文/响应正文的长度,以字节为单位

内容编码

请求正文/响应正文的编码格式,例如gzip,deflate

接受编码

告诉对方我们接受的内容编码

ETag的

用于缓存控制的当前资源的标识符,与Last-Modified,If-None-Match和If-Modified-Since结合使用

缓存控制

该值通常为no-cache,max-age=xx,xx为整数,表示资源缓存有效期(秒)

通用请求标头

名称

作用

授权

用于设置身份验证信息

用户代理

用户ID,例如:操作系统和浏览器类型和版本

如果-Modified-Since的

该值是最后一个服务器返回的Last-Modified值,用于确定资源是否已更改并从缓存中读取而没有任何更改

如果-无 - 匹配

该值是最后一个服务器返回的ETag值,通常与If-Modified-Since

相关联

饼干

现有的cookies

引用者

标识引用请求的地址。例如,当您从页面A跳到页面B时,该值是页面A的地址。

宿主

请求的主机和端口号

3.3申请机构

请求主体(也称为请求主体)是后请求模式中的请求参数,并以key=value的形式存储。多个请求参数与&如果请求主体是请求的,则请求头中的Content-是The Length属性记录请求主体的长度

1637794-974331646acf51ee.png

请求包含请求正文的消息

根据应用场景,HTTP请求的请求主体可以采用三种不同的形式

第一:

通常对于移动开发人员来说,请求体是任何类型的,服务器不解析请求体,并且需要自己解析请求体的处理,例如POST JSON。

1637794-f671a2f27a43eecf.png

HTTP请求,形成一个

第二:

第二个和第三个都有固定的格式,这是服务器端开发人员知道的前两个。这里的格式要求是URL中查询字符串的格式要求:use&多个键值对之间的连接,=键和值之间的连接,并且只使用ASCII字符,非ASCII字符需要用UrlEncode编码

1637794-ec09b1f42f430c33.png

HTTP请求,表单二

第三:

第三种类型的请求体分为多个部分,在上传文件时使用。此格式首先用于邮件传输,每个字段/文件按边界划分为单独的部分(在Content-Type中指定)。每个段以---加边界开始,然后是段的描述标题,描述后面跟一个空行,内容连接。请求结束的标识符绑定在---

之后

1637794-aa056e8cc9de19a5.png

HTTP请求,表格三

HTTP响应的格式与请求消息的请求行相同,除了状态行(第一行)与请求消息的请求行相同,但状态行和请求行之间的差异被排除,并且仍然可以从标题中删除。区分HTTP请求和HTTP响应之间的区别。如何区分它取决于以前的标题

1637794-78dffe785442c44e.png

HTTP响应消息

4.1响应状态行

状态代码

状态代码(即上图中的响应代码),如果要查看各种状态代码的具体含义,可以查看本文的HTTP状态代码比较表。当然,如果您想记住所有状态代码,请进行比较。难。

在平时,我们只需记住这些事情。

状态代码

相应信息

1XX

提示消息 - 表示已收到请求,继续处理

2XX

用于表示已成功接收,理解,接收请求

3XX

用于表示资源(网页等)永久传输到其他URL,即所谓的重定向

4XX

客户端错误 - 请求语法错误或无法满足请求

5XX

服务器端错误 - 服务器无法实现合法请求

4.2响应负责人

响应头也可用于传递一些其他信息

1637794-ecb65ab4c4a589ba.png

响应标题

常见的响应标头

名称

作用

日期

服务器日期

上次修改

资源的最后修改时间

传输编码

该值通常是分块的。如果无法确定Content-Length,则表示服务器不知道响应板的数据大小。通常,Content-Encoding响应标头同时出现

设置Cookie

设置一个cookie

位置

重定向到另一个URL,例如进入浏览器并输入回车符,它将自动跳转到控制通过此响应标题

服务器

后台服务器

4.3反应机构

响应正文也是网页的正文内容。通常,在响应头中使用Content-Length来阐明响应主体的长度,这便于浏览器接收。对于大量文本信息,还使用分块编码方法。

热门浏览
热门排行榜
热门标签
日期归档