《图解HTTP》(一)之HTTP基础

悠悠 2022-06-12 03:11 302阅读 0赞

1. web及网络基础

1.1. 通过HTTP访问web[C/S]

Center

1.2. TCP/IP四层模型

Center 1

1.2.1. 数据包的封装

Center 2

1.3. TCP/IP协议族

1.3.1. 负责传输的IP协议

使用ARP协议凭借MAC地址通信

Center 3

1.3.2. 确保可靠的TCP协议

Center 4

1.3.3. 负责域名解析的DNS服务

Center 5

1.3.4. 各协议与HTTP的关系

Center 6

1.4. URI与URL

  • URI(Uniform Resource Identifier):统一资源标识符
  • URL(Uniform Resource Locator):统一资源定位符;URL是URI的子集

1.4.1. URI的格式

Center 7








































字段


说明
协议 http/https

登录信息(认证)

user:pass@(一般没有)
服务器地址 域名或IP
服务器端口号 服务端口号,省略则取默认端口号
带层次的文件路径 指定服务器上的文件路径来定位特指的资源
查询字符串 使用查询字符串传入参数
片段标识符 标记以获取资源中的子资源(文档内的某个位置)

1.4.2. URI的示例

Center 8

2. HTTP协议

2.1. 通过请求和响应的交换达成通信

Center 9

2.1.1. 请求报文

Center 10

2.1.2. 响应报文

Center 11

2.2. HTTP请求方法

2.2.1. GET:获取资源

Center 12

2.2.2. POST:传输实体主体

Center 13

Center 14

2.2.3. PUT:传输文件

PUT方法用来传输文件,像FTP协议一样,要求在请求报文的主体中包含文件内容,然后保存到请求URI指定的位置。

因为自身不带验证机制,有安全问题,因此一般不采用。若配合验证机制或者REST标准则可使用。

Center 15

2.2.4. HEAD:获取报文头部

HEAD和GET一样但不返回报文主体部分,用于确认URI的有效性及资源的更新时间等。

Center 16

2.2.5. DELETE:删除文件

DELETE与PUT作用相反,但不带安全验证机制一般不采用。

Center 17

Center 18

2.2.6. OPTIONS:询问支持的方法

OPTIONS用来查询针对请求URI指定的资源支持的方法

Center 19

2.2.7. TRACE:追踪路径

TRACE用来查询发送出去的请求是怎样被加工修改/篡改的,因为易引发XST(跨站追踪)攻击,一般不使用。

Center 20

2.2.8. CONNECT:要求用隧道协议连接代理

CONNECT要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。主要使用SSL(Source Sockets Layer:安全套接字)和TLS(Transport Layer Security:传输层安全)协议把通信内容加密后经网络隧道传输。

方法格式如下:

Center 21

Center 22

2.3. 持久连接

2.3.1. keep-alive

为解决每进行一次HTTP通信就要断开一次TCP连接,增加了通信量的开销,HTTP/1.1通过keep-alive持久连接,只要任意一端没有明确提出断开连接,则保持TCP连接状态。

持久连接减少了TCP连接的重复建立和断开所造成的额外开销,减轻了服务器端的负载。

Center 23

2.3.2. 管线化

持续连接使得多数请求以管线化(pipelining)方式发送成为可能。管线化即同时并行发送多个请求,而不需要一个接一个等待响应。管线化技术比持续连接速度快,请求数越多越明显。

Center 24

HTTP是无状态协议,不对之前发生过的请求和响应的状态进行管理,即无法根据之前的状态进行本次的请求处理。无状态协议的优点在于不必保存状态,减少服务器CPU及内存资源的消耗。

cookie技术通过在请求和响应报文中写入cookie信息来控制客户端的状态。cookie会根据从服务端发送的响应报文内的一个叫做Set-Cookie的首部字段通知客户端保存Cookie;当客户端再往服务端发送请求时,客户端自动在请求报文中加入Cookie值后发送出去。服务器发现Cookie后会检查从哪个客户端发送来的连接请求,对比服务器上的记录,最后得到之前的状态信息。

Center 25

Center 26

Center 27

发表评论

表情:
评论列表 (有 0 条评论,302人围观)

还没有评论,来说两句吧...

相关阅读

    相关 图解https

    我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。 HTTPS简介 HTTPS其

    相关 图解HttpHttps

    一、TCP报文格式 ![这里写图片描述][70]  (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 

    相关 [图解http]

    项目整体需要优化 这部分的东西有些忘记了 看到人家推荐这本 就翻了翻,就当回顾下以前的知识了吧, -------------------- 看似简单的一个网址,