HTTP相关知识
HTTP (HyperText Transfer Protocol,超文本传输协议),Web使用HTTP协议作为规范,完成客户端与服务端的一系列交互。即Web 是建立在HTTP协议上通信的。
一、网络基础
HTTP是TCP/IP的内部子集,所以先了解一下TCP/IP协议。
计算机与网络设备要相互通信,需要双方基于相同的方法。而TCP/IP协议就是为了达成统一标准而创造的。协议包含各种标准,如电缆规格、IP地址的选定、通讯顺序等。
1.1TCP/IP的分层管理
一共四个层
- 应用层
向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。远程登录TELNET使用TELNET协议提供在网络其它主机上注册的接口。TELNET会话提供了基于字符的虚拟终端。文件传输访问FTP使用FTP协议来提供网络内机器间的文件拷贝功能。
- 传输层
提供应用程序间的通信。其功能包括:一、格式化信息流;二、提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送,即耳熟能详的“三次握手”过程,从而提供可靠的数据传输。
传输层协议主要是:传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Datagram protocol)。
- 网络层
负责相邻计算机之间的通信。其功能包括三方面。
处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。
处理输入数据报:首先检查其合法性,然后进行寻径–假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。
处理路径、流网络层包括:IP(Internet Protocol)协议、ICMP(Internet Control Message Protocol)
控制报文协议、ARP(Address Resolution Protocol)地址转换协议、RARP(Reverse ARP)反向地址转换协议。
IP是网络层的核心,通过路由选择将下一条IP封装后交给接口层。IP数据报是无连接服务。
ICMP是网络层的补充,可以回送报文。用来检测网络是否通畅。
Ping命令就是发送ICMP的echo包,通过回送的echo relay进行层
络测试。
- 数据链路层
物理层是定义物理介质的各种特性:
1、机械特性;
2、电子特性;
3、功能特性;
4、规程特性。
数据链路层是负责接收IP数据包并通过网络发送,或者从网络上接收物理帧,抽出IP数据包,交给IP层。
ARP是正向地址解析协议,通过已知的IP,寻找对应主机的MAC地址。
RARP是反向地址解析协议,通过MAC地址确定IP地址。比如无盘工作站还有DHCP服务。
常见的接口层协议有:
Ethernet 802.3、Token Ring 802.5、X.25、Frame re。。。。。。。。
ay、HDLC、PPP ATM等。
二、HTTP请求
HTTP请求中一定有一方担任客户端,一方担任服务端。然后由客户端先主动发送,服务端再返回信息。
2.1DNS(Domain Name System)服务
客户端通过IP地址访问服务端。若是域名,则会先访问DNS服务,DNS服务返回给域名对应的IP的地址后,客户端就可以访问服务端了。
2.2TCP三次握手
为了确保数据送达到目的地,TCP协议采用三次握手策略。
握手中采用可 SYN (synchronize)和ACK(acknowledgement)标志。
首先发送端首先发送一个带SYN标志的数据包给对方。接收端收到后,回传一个带有SYN/ACK标志的数据包意识传达确认信息。最后,发送端再回传一个带ACK标志的数据包,“握手”结束。
2.3各协议与HTTP协议的关系
1.HTTP协议:生成针对目标WEB服务器的HTTP请求报文
2.TCP协议:方便通信,把GTTP请求报文分割成报文段,按序号分为多个报文段,把每个报文段可靠传输给对方。
3.IP协议:搜索对方的地址,一边中转一边传输
4.TCP协议:从对方那里接受到的报文段,重组到达的报文段。
5.HTTP协议:对Web服务器请求的内容的处理。
1 -> 2 -> 3 -> 4 -> 5 从客户端 到 服务端 如此 , 服务端岛客户端相同。
三、URL
- http: 协议方案名
- user:pass 登录信息认证
- www.examplelr.jp服务器地址
- 80 端口
- /dir/index.htm 带层次的文件路径
- uid=1 查询字符串
- ch1 片段字符串