http学习笔记

2019-06-08  本文已影响0人  lzb30

一、TCP

1.1 TCP/IP 的分层管理

TCP/IP 协议族按层次分别分为以下 4 层:应用层、传输层、网络层和数据链路层。

应用层

应用层决定了向用户提供应用服务时通讯的活动。有FTP,DNS服务和HTTP协议。

传输层

传输层对上层应用层,提供网络连接中的两台计算机之间的数据传输。
有两个协议,TCP(传输控制协议)和UDP(用户数据报协议)

网络层

网络层用来处理在网络上流通的数据包。该层规定了通过怎样的路径到达对方计算机,并把数据包给对方。

数据链路层

用来处理连接网络的硬件部分。


TCP/IP通讯传输流

1.2 TCP三次握手


不同协议的通讯过程

二、HTTP报文

用于 HTTP 协议交互的信息被称为 HTTP 报文。请求端(客户端)的 HTTP 报文叫做请求报文,响应端(服务器端)的叫做响应报文。
HTTP 报文大致可分为报文首部和报文主体两块。两者由最初出现的空行(CR+LF)来划分。

2.1 报文结构

2.2 HTTP状态码

三、HTTP首部

3.1 4 种 HTTP 首部字段类型

3.2 HTTP/1.1 首部字段一览

3.3 通用首部字段

3.3.1 cache-control 缓存控制

no-cache 无 强制向源服务器再次验证
no-store 无 不缓存请求或响应的任何内容

3.3.2 Connection

3.3.3 Upgrade

指定一个完全不同的通信协议。

3.4 请求首部字段

3.4.1 Accept

Accept 首部字段可通知服务器,用户代理能够处理的媒体类型及媒体类型的相对优先级。

3.4.2 If-Match

形如 If-xxx 这种样式的请求首部字段,都可称为条件请求。服务器接收到附带条件的请求后,只有判断指定条件为真时,才会执行请求。
If-Match 与 ETag 一致,服务器才接受请求。If-None-Match 则相反

3.4.3 If-Modified-Since

如果在 If-Modified-Since 字段指定的日期时间后,资源发生了更新,服务器会接受请求
If-Unmodified-Since 则相反

3.4.4 User-Agent

首部字段 User-Agent 会将创建请求的浏览器和用户代理名称等信息传达给服务器。

3.5 响应首部字段

3.5.1 ETag

首部字段 ETag 能告知客户端实体标识。它是一种可将资源以字符串形式做唯一性标识的方式。服务器会为每份资源分配对应的 ETag 值。

3.5.2 Location

使用首部字段 Location 可以将响应接收方引导至某个与请求 URI 位置不同的资源。
该字段会配合 3xx :Redirection 的响应,提供重定向的 URI。

3.5.2 Server

首部字段 Server 告知客户端当前服务器上安装的 HTTP 服务器应用程序的信息。

3.6 实体首部字段

3.6.1 Content-Type

首部字段 Content-Type 说明了实体主体内对象的媒体类型。

3.6.2 Expires

首部字段 Expires 会将资源失效的日期告知客户端。

3.6.3 Last-Modified

首部字段 Last-Modified 指明资源最终修改的时间。

3.6.4 Set-Cookie

当服务器准备开始管理客户端的状态时,会事先告知各种信息。

3.6.5 Cookie

首部字段 Cookie 会告知服务器,当客户端想获得 HTTP 状态管理支持时,就会在请求中包含从服务器接收到的 Cookie。

3.6.6 X-XSS-Protection

首部字段 X-XSS-Protection 属于 HTTP 响应首部,它是针对跨站脚本攻击(XSS)的一种对策,用于控制浏览器 XSS 防护机制的开关。

四、HTTP VS HTTPS

4.1、HTTP的缺点

4.2 HTTPS的缺点

五、web的攻击技术

5.1 跨站脚本攻击

5.2 CSRF攻击跨站请求伪造

本质:重要操作的所有参数都是可以被攻击者猜测到的。攻击者预测出URL的所有参数与参数值,才能成功地构造一个伪造的请求。

上一篇下一篇

猜你喜欢

热点阅读