HTTP1

43次阅读

共计 2735 个字符,预计需要花费 7 分钟才能阅读完成。

HTTP(HyperText Transfer Protocol) 通常被翻译为超文本传输协定,但这种译法并不谨严,严禁的译名应该为“超文本转移协定”。

最后构想的根本理念是:借助多文档之间互相关联造成的超文本,连成互相参阅的 WWW(World Wide Web, 万维网)。

3 项 WWW 构建技术:

  • 把 SGML(Standard Generalized Markup Language, 规范通用标记语言) 作为页面的文本标记语言的 HTML(HyperText Markup Language, 超文本标记语言);
  • 作为文档传递协定的 HTTP;
  • 指定当所在地址的 URL(Uniform Resource Locator, 对立资源定位符)

Web 成长时代

1990 年 11 月,CERN(欧洲核子钻研组织) 胜利研发出了世界上第一台 Web 服务器和 Web 浏览器。

HTTP 正式作为规范被颁布是在 1996 年 5 月,版本被命名为 HTTP/1.0,并记录于 RFC1945。

TCP/IP 协定

计算机与网络设备要互相通信,单方就必须基于雷同的办法。这个办法规定就称为协定。

TCP/IP 协定族流重要的一点就是分层:应用层、传输层、网络层和数据链路层。

益处:就如同模块化开发一样,只有各层之间的接口局部布局好当前,每个档次外部的设计就可能自在改变。而且层次化之后设计也更为简略,单个档次只思考本人分派的工作就能够了,不必思考其余局部。

应用层

决定了向用户提供应用服务时的通信的流动。FTP 和 DNS,HTTP 协定也处于该层。

传输层

提供处于网络连接中的两台计算机之间的数据传输。TCP(Transmission Control Protocol, 传输控制协议) 和 UDP(User Data Protocal, 用户数据报协定) 在这一层。

网络层

用来解决网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了通过怎么的门路(所谓的传输路线)达到对方计算机,并把数据包传送给对方。

与对方计算机之间通过多态计算机或网络设备进行传输时,网络层所起的作用就是在泛滥的选项内抉择一条传输路线。

链路层

用来解决连贯网络的硬件局部。包含管制操作系统、硬件的设施驱动、NIC(Network Interface Card, 网络适配器,即网卡),及光纤等物理可见局部(还包含连接器等所有传输媒介)。硬件上的领域均在链路层的作用范畴内。

TCP/IP 通信传输流

客户端在应用层(HTTP 协定)收回一个想看某个 web 页面的 HTTP 申请;

为了传输不便,在传输层(TCP 协定)把从应用层收到的数据(HTTP 申请报文)进行宰割,并在各个报文上打上标记序号及端口号后转发给网络层;

在网络层(IP 协定),减少作为通信目的地的 MAC 地址后转发给链路层,这样,发往网络的通信申请就筹备齐全了。

接收端的服务器在链路层接管到数据,按序往下层发送,始终到应用层,当传输到应用层,能力算真正接管到由客户端发送过去的 HTTP 申请。

负责传输的 IP 协定

不要把 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 协定

TCP 位于传输层,提供牢靠的字节流服务(Byte Stream Service),是指为了不便传输,将大块数据宰割成以报文段位单位的数据包进行治理。牢靠就是指精确牢靠的传输给对方。

为了准确无误的将数据送达指标处,TCP 协定采纳了三次握手(three-way handshaking)策略。握手过程应用了 TCP 的标记——SYN(synchronize)和 ACK(acknowledgement)。

过程:

  • 发送端先发送一个带 SYN 标记的数据包给对方。(先测试线路通不通)
  • 接收端接管后,回传一个带有 SYN/ACK 标记的数据包以示传播确认信息。(接收端通知你通了)
  • 最初发送端再回传一个带 ACK 标记的数据包,代表握手完结。(而后才发送信息)

如果在握手过程中某个阶段莫名终端,TCP 协定会再次以雷同程序发送雷同的数据包。

负责域名解析的 DNS 服务

DNS(Domain Name System)服务是和 HTTP 协定一样位于应用层的协定。它提供域名到 IP 地址之间的解析服务。

URI 和 URL

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 格局

相对 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 查问字符串,针对已指定的文件门路内的资源,能够应用查问字符串传入任意参数。可选。

ch1 片段标识符,定位网页中的具体位置。可选。

正文完
 0