记关于HTTP

网络基础

HTTP(HyperText Transfer Protocol,超文本传输协议),这种译法并不严谨,或许叫作超文本转移协议更为严谨一些。html

URL(Unigotm Trsource Locator,统一资源定位符)。浏览器

WWW这一名称,是Web浏览器当年用来浏览超文本的客户端应用程序时的名称。如今则用来表示这一系列的集合,也能够简称为Web。服务器

TCP/IP协议族,一般使用的网络(包括互联网)是在TCP/IP协议族的基础上运行的,而HTTP属于它内部的一个子集。网络

计算机与网络设备要互相通讯,双方必须基于相同的方法,好比:如何探测通讯目标,由哪一边先发起通讯,使用何种语言通讯,怎么样结束通讯,不一样硬件,不一样操做系统之间的通讯,全部的这一切都须要一种规则,因而咱们把这一种规则称为协议(protocol)。(IEEE802.3,FDDI,ICMP,TCP,HTTP,IP,DNS,FTP,SNMP,PPPoE,UDP,IP)等...大数据

TCP/IP是指具体的TCP协议和IP协议仍是实在IP协议的通讯过程当中使用到协议族的统称呢?ui

TCP/IP协议族分层:spa

应用层操作系统

传输层code

网络层orm

数据链路层

分层的优点既是灵活

应用层: 应用层决定了向用户提供应用服务时通讯的活动,TCP/IP协议族预存了各种通用的应用服务。好比FTP(File Tansfer Protocol,文件传输协议)和DNS(Domain Name System,域名系统)服务就是其中两种。HTTP协议也处于该层。

传输层: 传输层对上层应用层,提供处于网络链接中的两台计算机之间的数据传输。在传输层有两个性质不一样的协议:TCP(Transmission Control Protocol,传输控制协议)和UDP(User Data Protocol,用户数据报协议)。

网络层(网络链接层): 网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了经过怎样的路径(所谓的传输路线)到达对方的计算机,并把数据包给到对方。与对方的计算机之间经过多台计算机或是网络设备进行传输时,网络层所起的做用就是在众多的选项内选择一条传输路线。

链路层(数据链路层/网络接口层): 用来处理链接网络的硬件部分,包括控制操做系统,硬件设备的驱动器,NIC(Network Interface Card,网络适配器,即网卡)及光纤等物理可见部分(还包括链接器等一切传输媒介)。硬件上的范畴均在链路层的做用范围以内。

TCP/IP通讯传输流

[客户端]:HTTP <==> TCP <==> IP <==> 网络

应用层        传输层      网络层     链路层 ↑↓
复制代码

[服务端]:HTTP <==> TCP <==> IP <==> 网络

[客户端]:HTTP数据 => [TCP首部 [HTTP数据]] => [IP首部 [TCP首部 [HTTP数据]]]=>[以太网首部 [IP首部 [TCP首部 [HTTP数据]]] ]

[服务端]: [以太网首部 [IP首部 [TCP首部 [HTTP数据]]] ] => [IP首部 [TCP首部 [HTTP数据]]] => [TCP首部 [HTTP数据]] => HTTP数据

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

按层次分,IP(Internet Protocol)网际协议位于网络层。Internet Prorocol 这个名称可能听起来有点夸张,但事实正是如此,由于几乎全部使用网络的系统都会用到IP协议。TCP/IP协议族中的IP指的就是网际协议,协议名称中占据了一半的位置。

IP协议的做用是把各类数据包传递给对方。而要保证确实传递到了对方那里,则须要知足各种条件。其中两个重要条件是IP地址和MAC地址(Media Assess Control Address)。

IP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址,IP地址能够和MAC地址进行配对,IP地址可变换,但MAC地址基本上不会更改。

使用ARP协议凭借MAC地址进行通讯。IP间的通讯依赖MAC地址。在网络上,通讯的双方在同一局域网(LAN)内的状况是不多的,一般是通过多台计算机和网络设备中转才能链接到对方。而在进行中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标。这时,会采用ARP协议(Address ResolutionProtocol)。ARP是一种用以解析地址的协议,根据通讯方的IP地址就能够反查出对应的MAC地址。

确保可靠的TCP协议。TCP位于传输层,提供可靠的字节流服务。所谓的字节流服务(Byte Stream Service)是指为了方便传输大数据时将数据分割为以报文段为单位的数据包进行管理。而可靠的传输服务是指,可以准确无误的将数据传递给对方。一言蔽之,TCP协议为了更容易传送大数据才把数据分割,并且TCP亦可以确认数据是否最终到达对方。

三次握手:首先发送端会发送一个带SYN标志的数据包给对方,接收端收到后,回传一个带有SYN/ACK标志的数据包以示数据已经接收到,最后发送端发送一个ACK标志的数据包,表明握手结束。

解析域名的DNS服务。每个域名都有对应的IP地址,DNS服务提供IP查询域名以及反向经过域名查询IP地址的服务。

URI统一资源标识符

URI是URI是Uniform Resource Identifier的缩写,RFC2396分别对这三个单词进行了以下定义。

Uniform:规定统一格式可方便处理多种不一样类型的资源,而不用根据上下文环境来识别资源制定的访问方式。另外,加入新增的协议方案(如:http或ftp)也更容易。

Resource:资源的定义是:“可标识的任何东西”。不只仅是文档文件,图像或是服务等可以区别于其余类型的,所有均可看成资源。另外,资源不只仅能够是单一的,也能够是多数的集合体。

Identifier:表示可标识的对象,也称做标识符。

URL是URI的子集,URI表示的某一互联网资源,URL表示资源的地点,L(location,位置)。

绝对URI格式: “user:pass@www.example.com:80/dir/index.h…

上述URI中包含:

协议方案:http://

登陆信息:user:pass

服务器地址:www.example.com

服务端口号:80

带层次的文件路径:/dir/index.html

查询字符串:uid=1

片断字符串:#ch1

相关文章
相关标签/搜索