从零开始的HTTP学习

部分内容来源于网络搜索和维基百科

HTTP工作原理

为什么忽然想学这个呢…因为发现自己网络部分还是一窍不通
嗯,学到哪里写到哪里吧,虽然说不定哪天就咕咕咕了(不)

HTTP简介

超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP),是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是全球资讯网的数据通信的基础。

它不仅能够保证超文本文档在计算机间正确快速的传输,还能够确定传输文档中的某部分,比如可以使文本先于图像传输。

HTTP的默认端口为80。

计算机通信原理

计算机间的通讯通常采用TCP/IP协议,在Internet上进行,但TCP/IP实际上是两个协议,即TPC和IP协议。

IP:计算机间通信协议

网际协议(Internet Protocol,缩写为IP)是用于封包交换网络的一种面向数据的协议,它是计算机能够在互联网上相互识别的基础。

IP负责根据源主机和目的主机的地址传送数据或数据包,通过 IP,消息(或者其他数据)被分割为小的独立的包,并通过因特网在计算机之间传送。

IP的独特之处在于,发送方无需与接收方实现确定一个通信连接,而是可以直接通过IP地址向指定目标发送数据,这种方式极大的减少了通信难度,但由于互联网提供了一种很不稳定的数据包传输机制,IP并不能保证数据被准确可靠的传输(Wiki上将此称为“尽力而为”),因此IP常依赖于上层协议来保证数据的完整性。

TCP:应用层间通信协议

传输控制协议(Transmission Control Protocol,缩写为TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。

TCP连接包括三个状态:连接建立、连接。数据传送和连接终止。

TCP使用序号对收到的TCP报文段进行排序以及检测重复的数据;使用校验和来检测报文段的错误;使用确认和计时器来检测和纠正丢包或延时。

基于TCP能够检验数据的特性,常被用于和IP协议一起组成TCP/IP协议,其中TCP是IP的上层协议。

HTTP协议所在的协议层

拿了张别人的图,简单易懂。

emmm等我学会放图再说。