HTTP(HyperText Transfer Protocol)一般被翻译为超文本传输协议,但这种译法并不严谨,严禁的译名应该为“超文本转移协议”。web
最初设想的基本理念是:借助多文档之间相互关联造成的超文本,连成相互参阅的WWW(World Wide Web,万维网)。浏览器
3项WWW构建技术:服务器
1990年11月,CERN(欧洲核子研究组织)成功研发出了世界上第一台Web服务器和Web浏览器。cookie
HTTP正式做为标准被公布是在1996年5月,版本被命名为HTTP/1.0,并记载于RFC1945。网络
计算机与网络设备要相互通讯,双方就必须基于相同的方法。这个方法规则就称为协议。ide
TCP/IP协议族流重要的一点就是分层:应用层、传输层、网络层和数据链路层。模块化
好处:就如同模块化开发同样,只要各层之间的接口部分规划好之后,每一个层次内部的设计就可以自由改动。并且层次化以后设计也更为简单,单个层次只考虑本身分派的任务就能够了,不用考虑其余部分。测试
决定了向用户提供应用服务时的通讯的活动。FTP和DNS,HTTP协议也处于该层。ui
提供处于网络链接中的两台计算机之间的数据传输。TCP(Transmission Control Protocol, 传输控制协议)和UDP(User Data Protocal, 用户数据报协议)在这一层。spa
用来处理网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了经过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方。
与对方计算机之间经过多态计算机或网络设备进行传输时,网络层所起的做用就是在众多的选项内选择一条传输路线。
用来处理链接网络的硬件部分。包括控制操做系统、硬件的设备驱动、NIC(Network Interface Card, 网络适配器,即网卡),及光纤等物理可见部分(还包括链接器等一切传输媒介)。硬件上的范畴均在链路层的做用范围内。
客户端在应用层(HTTP协议)发出一个想看某个web页面的HTTP请求;
为了传输方便,在传输层(TCP协议)把从应用层收到的数据(HTTP请求报文)进行分割,并在各个报文上打上标记序号及端口号后转发给网络层;
在网络层(IP协议),增长做为通讯目的地的MAC地址后转发给链路层,这样,发往网络的通讯请求就准备齐全了。
接收端的服务器在链路层接收到数据,按序往上层发送,一直到应用层,当传输到应用层,才能算真正接收到由客户端发送过来的HTTP请求。
不要把IP和IP地址搞混,IP是一种协议,网际协议位于网络层。做用是把各类数据包传送给对方。
保证确实传送到对方那里的两个重要条件:IP地址和MAC地址(Media Access Control Address)。
IP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址。IP地址能够和MAC地址进行配对,IP地址可变换,但MAC地址基本不会更改。
场景:IP之间的通讯依赖MAC地址,可是一般通讯双方不在同一局域网下,须要通过多台计算机和网络设备中转才能链接到对方。在中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标。这时,会采用APR(Address Resolution Protocol)协议。ARP是一种用以解析地址的洗衣,根据通讯方的IP地址就能够反查出对应的MAC地址。
TCP位于传输层,提供可靠的字节流服务(Byte Stream Service),是指为了方便传输,将大块数据分割成以报文段位单位的数据包进行管理。可靠就是指准确可靠的传输给对方。
为了准确无误的将数据送达目标处,TCP协议采用了三次握手(three-way handshaking)策略。握手过程使用了TCP的标志——SYN(synchronize)和ACK(acknowledgement)。
过程:
若是在握手过程当中某个阶段莫名终端,TCP协议会再次以相同顺序发送相同的数据包。
DNS(Domain Name System)服务是和HTTP协议同样位于应用层的协议。它提供域名到IP地址之间的解析服务。
URL(Uniform Resource Locator)统一资源定位符,是咱们使用web浏览器等访问web页面时须要输入的网页地址,例如http://www.baidu.com/就是URL。
URI(Uniform Resource Identifier)统一资源标识符。
Uniform:规定同一的格式能够方便处理多种不一样类型的资源,新增协议方案(如http:或ftp:)也更容易。
Resource:资源的定义是“可标志的任何东西”。文档文件、图像或服务(例如当天的天气)等可以区别于其余的类型的,均可以做为资源。资源不只能够是单一的,也能够是多数的集合体。
Identifier:表示可标识的对象,也称为标志符。
综上,URI就是由某个协议方案表示的资源的定位标志符。协议方案是指访问资源所使用的协议类型名称。
URI用字符串标识某一互联网资源,而URL标识资源的地点(互联网上所处的位置)。可见URL是URI的子集。
绝对URI格式:
http://user:pass@www.example.jp:80/dir/index.htm?uid=1#ch1
http: :使用http:或https:等协议方案名获取访问资源时须要制定协议类型。
user:pass 登陆信息(认证),指定用户名和密码做为从服务器端获取资源时必要的登陆信息(身份认证),可选。感受有点像cookies。
www.example.jp 服务器地址。也能够用IP地址。
80 服务器端口号,可选。省略则自动使用默认端口号。
dir/index.htm 带层次的文件路径,指定服务器上文件路径来定位特质的资源。
uid=1 查询字符串,针对已指定的文件路径内的资源,可使用查询字符串传入任意参数。可选。