HTTP协议中概念

客户端:经过发送请求获取服务器端资源的Web浏览器等。浏览器

TCP/IP协议族:安全

计算机与网络设备要相互通讯,双方必须基于相同的方法。(好比,如何探测到通讯目标,由哪一方先发起通讯、使用哪一种语言进行通讯等规则都须要事先肯定)服务器

不一样的硬件、操做系统之间的通讯,全部的这一切都须要一种规则。而咱们把这种规则成为协议族(protocol)。网络

把互联网相关联的协议集合起来总称为TCP/IP。less

 

TCP、IP的分层管理:TCP/IP协议族按层次分别分为:应用层、传输层、网络层和数据链路层。大数据

应用层:决定了向用户提供服务时通讯的活动  好比:FTP和DNS服务就是其中两类。HTTP协议也处于该层。操作系统

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

网络层:网络层用来处理在网络上流动的数据包。  该层规定了数据包传输路径。 代理

链路层:用来处理链接网络的硬件部分。  好比:控制操做系统和硬件的驱动、网卡、光纤等物理可见部分。orm

 

IP(Internet Protocol):IP协议的做用是把各类数据包传送给对方。

为了确保数据传送成功,其中两个重要条件是IP地址和MAC地址。

ARP协议(Address Resolution Protocol):是一种用以解析地址的协议,根据通讯方的IP地址就能够反查出对应的MAC地址。

 

TCP协议位于传输层,提供可靠的字节流服务(Byte Stream Service)。

字节流服务:为了传输方便,将大块数据分割成以报文段(segment)为单位的数据包进行管理。

TCP协议为了更容易传输大数据把数据分割,并且可以确认数据最终是否送达到对方。

 

三次握手(为了确保数据可以达到目标):

1.发送端发送带有SNY标志的数据包给对方。

2.接收端收到后会回传一个带有SNY/ACK标志的数据包以示传达确认信息。

3.发送端回传一个带ACK标志的数据包,表明握手结束。

若在握手过程当中莫名中断,TCP会再次以相同的顺序发送相同的数据包。

DNS(Domain Name System)服务:位于应用层,提供域名和IP地址之间的解析服务

 

URI(Uniform Resource Identifier,统一资源标识符):由某个协议方案表示的资源的定位标识符。

URL(Uniform Resource Locator,统一资源定位符):使用Web浏览器等访问Web页面时须要输入的网页地址。

URI用字符串标识某一互联网资源,而URL表示资源的地点。URL是URI的子集。

 

HTTP协议用于客户端与服务器端之间的通讯。两台计算机之间使用HTTP协议通讯时,一条通讯线路上一定有一端是客户端,另外一端是服务器端。

就一条通讯线路来讲,服务器端和客户端的角色是肯定的,而用HTTP协议就可以明确区分哪一个是客户端,哪一个是服务器端。

HTTP协议规定,请求从客户端发出,最后服务器端响应 该请求并返回。换句话说,服务器端在没有接收到请求以前不会发送响应。

HTTP是一种不保存状态的协议,即无状态(stateless)协议。优势:能够更快地处理大量事物,确保协议的可伸缩性。

HTTP使用URI定位互联网上的资源。

 

告知服务器意图的HTTP方法:

GET:获取资源

POST:传输实体主体

PUT:传输文件(要求在请求报文的主体中包含文件内容,而后保存到URI指定的位置。HTTP/1.1的PUT不带验证机制,存在安全性问题,通常Web不用这个方法)

DELETE:删除文件(一样存在安全性问题)

HEAD:得到报文部首(与GET同样,只是不返回报文主体部分。用于确认URI的有效性及资源更新的日期时间等。)

OPTIONS:查询支持的方法

TRACE:追踪路径(发送请求时,在Max-Forwards首部字段填入数值。 每通过一个服务器端就将改数字-1,为0时中止传输,最后接受到请求的服务器端发挥状态码200OK)

CONNECT:要求用隧道协议链接代理

 

持久链接(HTTP Persistent Connections)

问题:浏览器浏览一个包含多张图片的HTML页面时,每个图片资源都要创建链接,获取资源,断开链接。这些无谓的TCP链接和断开,增长了通讯量的开销。

解决:HTTP/1.1和一部分HTTP/1.0想出了持久链接的方法:只要任意一端没有明确提出断开链接,则保持TCP链接状态。

管线化(pipelining)

问题:浏览器浏览一个包含10张图片的页面,须要等第一张图片加载完,才能加载第二张图片。

解决:管线化技术出现后,能够作到同事并行发送多个请求,而不须要一个接一个地等待响应了。

使用Cookie的状态管理

问题:没法根据以前的状态进行本次请求的处理(不认人)。

解决:经过在请求和响应报文中写入Cookie信息来控制客户端的状态。

相关文章
相关标签/搜索