TCP、DNS、URL、URI
确保可靠性的TCP协议
按层次分,TCP位于传输层,提供可靠的字节流服务。
什么是字节流服务?
字节流服务(Byte Stream Service)是指,为了方便传输,将大块数据分割成以报文段(segment)为单位的数据包进行管理。
什么是可靠的传输服务?
能把数据准确可靠地传给对方
总结:
TCP协议为了更容易传送大数据才把数据分割,而且TCP协议能够确认数据最终是否送达到对方。
如何确保数据能到达目标?
TCP协议采用了三次握手(three-way handshaking)策略。用TCP协议把数据包送出去后,TCP不会对传送后的情况置之不理,它一定会向对方确认是否成功送达。
握手过程中使用了TCP的标志(flag)—SYN(synchronize)和ACK(acknowledgement)
发送端首先发宋一个带SYN标志的数据包给对方,接收端收到后,回传一个带有SYN/ACK标志的数据包以示传达确认信息。最后,发送端再回传一个ACK标志的数据包,代表握手结束。
若在握手的过程中某个阶段莫名中断,TCP协议会再次以相同的顺序发送相同的数据包。
除了上述三次握手,TCP协议还有其它各种手段来保证通信的可靠性。
负责域名解析的DNS服务
DNS(Domain Name System)服务是和HTTP协议一样位于应用层的协议。
DNS的作用?
提供域名到 IP 地址之间的解析服务
DNS协议提供通过域名查找IP地址,或逆向从IP地址反查域名的服务
各协议与HTTP协议之间的关系
URL和URI
URL(Uniform Resource Locator)统一资源定位符
URI(Uniform Resource Identifier) 统一资源标识符
Uniform
规定统一的格式可方便处理多种不同类型的资源,而不用根据上下文环境来识别资源指定的访问方式。另外,加入新增的协议方法(http、ftp)也更容易
Resource
可标识的任何东西,除了文档文件、图像或服务等能够区别于其它类型的,全都可作为资源。另外,资源不仅可以是单一的,也可以是多数的集合体
Identifier
可标识的对象
总结:
URI 就是由某个协议方案表示的资源的定位标识符,协议方案是指访问资源所使用的协议类型名称。
URI用字符串标识某一互联网资源,而URL表示资源的地点(互联网上所处的位置)
URL是URI的子集
URI 格式
表示指定的URI,要使用涵盖全部必要信息的绝对URI、绝对URL以及相对URL。
相对URL,是指从浏览器中基本URI处指定的URL,eg: /image/logo.gif
绝对URI的格式
有一些用来制定 HTTP 协议技术标准的文档,它们被称为 RFC(Request for Comments,征求修正意见书)