HTTP学习1
web及网络基础
通过发送请求获取服务器资源的Web浏览器等,都可称为客户端(client)
HTTP:超文本传输协议,最初的HTTP主要是为了解决文本传输的难题
Web是建立在HTTP协议上通信的
URL:统一资源定位符
TCP/IP
通常使用的网络(包括互联网)实在TCP/IP协议族的基础上运作的,二HTTP属于他内部的一个子集。
计算机与网络设备要相互通信,双方就必须基于相同的方法。不同硬件,操作系统之间的通信,所有的这一切都需要一种规则。而我们就把这种规则称为协议(protocol)
把与互联网相关联的协议集合起来总称为TCP/IP。TCP/IP协议族按层次分别分为以下4层:应用层,传输层,网络层和数据链路层。
层次化时候,在设计上也变得更加简单
应用层:应用层决定了向用户提供应用服务时通信的活动。比如FTP(文件传输协议),DNS(域名系统),HTTP协议也处于该层。
传输层:传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。在传输层有两个性质不同的协议:TCP(传输控制协议)和UDP(用户数据报协议)。
网络层:网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方。
链路层:用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(网络适配器,即网卡),及光纤等物理可见部分。硬件上的范畴均在链路层的作用范围之内。
利用TCP/IP协议族进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端则往应用层往上走。
发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该层所属的首部信息。反之,接收端在层与层传输数据时,每经过一层时会把对应的首部消去。这种把数据信息包装起来的做法称为封装。
IP协议
IP(Internet Protocol)网际协议位于网络层。该协议的作用是把各种数据包传送给对方,而要保证确实传送到对方那里,其中两个重要的条件是IP地址和MAC地址(Media Access Control Address)。IP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址
IP间的通信依赖MAC地址。使用ARP协议凭借MAC地址进行通信,ARP是一种用以解析地址的协议,根据通信方的IP地址就可以反查出对应的MAC地址。
TCP协议
TCP位于传输层,提供可靠的字节流服务。所谓的字节流服务是指为了方便传输,将大块数据分割成以报文段为单位的数据包进行管理。TCP协议为了更容易传送大数据才把数据分割,而且TCP协议能够确认数据最终是否送达到对方。
为了准确无误地将数据送达目标处,TCP协议采用了三次握手策略。握手过程中使用了TCP的标志SYN和ACK。
DNS服务
DNS服务是和HTTP协议一样位于应用层的协议。它提供域名到IP地址之间的解析服务。
计算机既可以被赋予IP地址,也可以被赋予主机名和域名。DNS协议提供通过域名查找IP地址,或逆向从IP地址反查域名的服务。
各种协议与HTTP协议的关系
URI和URL
URI:统一资源标识符
URI用字符串标识某一互联网资源,而URL表示资源的地点。可见URL是URI的子集。
绝对URI的格式:
登录信息:指定用户名和密码作为从服务器端获取资源时必要的登录信息。此项是可选项。
服务器地址:使用绝对URI必须指定待访问的服务器地址。
服务器端口号:指定服务器连接的网络端口号。此项也是可选项,若用户省略则自动使用默认端口号。
带层次的文件路径:指定服务器上的文件路径来定位特指的资源。
查询字符串:针对已指定的文件路径内的资源,可以使用查询字符串传入任意参数。此项可选。
片段标识符:使用片段标识符通常可标记出已获取资源中的子资源。该项也为可选项。