http、tcp、udp、ip、dns

2017-04-12  本文已影响0人  newdaylife

HTTP简介

HTTP:HyperText Transfer Protocol,超文本传输协议,完成客户端到服务端的一系列运作流程。

1)http1.0:

2)http1.1:

TCP/IP:网络的基础,是互联网相关的各类协议族的总称(可以看做是TCP和IP的两种协议)。

TCP/IP的分层管理

TCP/IP的协议族可以分为以下四层(如下图):

1)应用层:决定了向用户提供应用服务时通信的活动。比如FTP(文件传输协议)、DNS(域名系统)、HTTP协议也在次层。

2)传输层:提供处于网络连接中的两台计算机之间的数据传输。此层包含两个协议,TCP(传输控制协议)和UDP(用户数据报协议)协议。

3)网络层:用来处理网络上流动的数据包,数据包是网络传输的最小单位,该层规定了怎么寻找一个合适的传输路线到达对方的计算机,并把数据包传输给对方。

4)链路层:又叫网络接口层,用来处理连接网络的硬件部分,如NIC(网络适配器即网卡)和光纤。

下面用一张图举例说明HTTP利用TCP/IP协议族进行网络通信时的过程。

与HTTP密切相关的协议:IP、TCP、DNS

1)IP:网际协议,作用是把各种数据包传输给对方。其中重要的两个条件是IP地址(可以改变)和MAC地址(一般不会改变)。会采用ARP协议(解析地址),根据通信方的IP地址反查出对方的MAC地址。

2)TCP:提供可靠的字节流服务,将大数据分割成数据包进行管理,而tcp可确保数据传给对方,采用的是三次握手策略。发送端首先发送一个带SNY标志的数据包给对方,接收端接受之后回传一个SNY/ACK标志的数据包来传达确认消息,最后发送端再回传一个带ACK标志的数据包,代表握手结束。

3)DNS:负责域名解析,提供域名到IP地址之间的解析服务。如baidu.jp通过dns可以找到对应的IP地址位20x.198.105.112。

UDP:用户数据报协议,和TCP在同一传输层的,提供面向事务的简单不可靠信息传送服务。

HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。

SPDY:是Google开发的基于TCP的传输层协议,用以最小化网络延迟,提升网络速度,优化用户的网络使用体验。SPDY并不是一种用于替代HTTP的协议,而是对HTTP协议的增强。新协议的功能包括数据流的多路复用、请求优先级以及HTTP报头压缩。谷歌表示,引入SPDY协议后,在实验室测试中页面加载速度比原先快64%。

在SSL层上增加一个SPDY会话层,以在一个TCP连接中实现并发流。SSL层上增加SPDY会话层。

通常的HTTP GET和POST格式仍然是一样的;然而SPDY为编码和传输数据设计了一个新的帧格式。流是双向的,可以在客户端和服务器端启动。SPDY旨在通过基本(始终启用)和高级(可选启用)功能实现更低的延迟。

socket:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。

建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。

借鉴:《图解http》一书。

上一篇下一篇

猜你喜欢

热点阅读