网络net

http的理解

2018-05-14  本文已影响9人  Kris_lee

title: http理解(上)
date: 2018-05-14 11:45:25
tags: http的理解


TCP/IP 通信传输流

首先来看 7层 协议 模型

七层结构记忆方法:应、表、会、传、网、数、物;

image.png

其中传输也分为四种协议 应用层, 传输层 网络层 链路层

四层模型.png

确保可靠性的TCP协议

三次握手.png

为了确保准确无误的将数据送达目标。TCP协议采用了三次握手策略。

相当于 发送端 和 接受端之间的会话 。 你吃了吗?- 吃了。- 好的。

不过在握手过程中使用了TCP的标志 SYN和ACK

发送端首先发送一个带SYN标志的数据包给对方。接受端接受到了后,回传一个带有SYN/ACK的数据包。最后发送端再回传一个带ACK标志的数据包。代表结束。

握手失败该如何处理

第一次握手A发送SYN传输失败,A,B都不会申请资源,连接失败。如果一段时间内发出多个SYN连接请求,那么A只会接受它最后发送的那个SYN的SYN+ACK回应,忽略其他回应全部回应,B中多申请的资源也会释放

第二次握手B发送SYN+ACK传输失败,A不会申请资源,B申请了资源,但收不到A的ACK,过一段时间释放资源。如果是收到了多个A的SYN请求,B都会回复SYN+ACK,但A只会承认其中它最早发送的那个SYN的回应,并回复最后一次握手的ACK

第三次握手ACK传输失败,B没有收到ACK,释放资源,对于后序的A的传输数据返回RST。实际上B会因为没有收到A的ACK会多次发送SYN+ACK,次数是可以设置的,如果最后还是没有收到A的ACK,则释放资源,对A的数据传输返回RST

简单的HTTP协议

通常我们发送一个请求给服务器,服务器会给我们返回。

我们的请求,通常包括 方法 - URI - 版本协议 - 请求首部字段 - 内容实体

POST /from/entry HTTP /1.1
Host:hackr.jp
Connection:keep-alive
Content-Type:application/x-www-form-urlencoded
Content-Length:16

name=krislee & age = 25

请求的方法

GET POST PUT HEAD DELETE OPTIONS TRACE

Connection

持久连接的好处在于 减少了TCP链接的重复建立 和 断开 所造成的额外开销,减轻了服务器端的负载。另外,减少开销的那部分时间,使HTTP请求和响应能够更早的技术。这样Web页面的显示速度也就相应的提高。

cookie

服务器端是不保存请求和响应的状态的。这时候应该如何处理?

返回结果的HTTP状态码

2XX 成功

3XX 重定向

4XX 客户端错误

5XX 服务器端错误

与HTTP协作的Web服务器

一台Web服务器可搭建多个独立域名的Web网站,也可作为通信路径上的中转服务器提升传输效率。

用单台虚拟机实现多个域名

方式通过虚拟主机的方式实现。

通信数据的转发程序:代理、网关、隧道

代理:

一种有转发功能的应用程序,它扮演了位于服务器和客户端“中间人”的角色,接受由客户端发送的请求并转发给服务器,同时也接受服务器发送的响应并转发给客户端。

代理服务器的基本行为就是接受客户端发送的请求后转发给其它服务器。不改变请求URI,直接发送给前方持有资源的目标服务器。持有资源实体的服务器被称为源服务器。从源服务器返回的响应经过代理服务器后再传给客户端。

在HTTP通信过程中,可级联多台代理服务器。请求和响应的转发会经过数台类似锁链一样连接起来的代理服务器。转发时,需要附加Via首部字段以标记出经过的主机信息。

通过设置组织内部的代理服务器可做到针对特定URI访问的控制。

网关:

利用网关可以由HTTP请求转化为其它协议通信。 网关的工作机制和代理十分相似。

隧道

隧道可按要求建立起一条与其它服务器的通信线路,届时使用SSL等加密手段进行通信。隧道的目的是确保客户端能与服务器进行安全的通信。

隧道本身不会去解析HTTP请求。也就是说,请求保持原样中转给之后的服务器。隧道会在通信双方断开连接时结束。

HTTP首部

HTTP首部报文

HTTP报文的结构 由 报文首部,空行(CR+LF)报文主体

HTTP请求报文 在请求中,HTTP报文由方法、URI、HTTP版本、HTTP首部字段等部分构成。

下面我截取一段信息

![屏幕快照 2018-05-14 下午3.10.53.png](https://img.haomeiwen.com/i5531021/4e1bea73071968d8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

参考链接

作者:爱吃萝卜的小蘑菇 简书

图解HTTP 作者:上野 宣

上一篇下一篇

猜你喜欢

热点阅读