跪求大神分享帮忙下载这篇文档~

Protocol)这你一定能说出来,但是这样還不够假如你是大厂面试官,这不可能是他想要的最终结果我们在面试的时候往往把自己知道的尽可能多的说出来,才有和面试官谈價钱的资本那么什么是超文本传输协议?

超文本传输协议可以进行文字分割:超文本(Hypertext)、传输(Transfer)、协议(Protocol)它们之间的关系如下

按照范围的大小 协议 > 传输 > 超文本。下面就分别对这三个名次做一个解释

在互联网早期的时候,我们输入的信息只能保存在本地无法和其他电脑进行交互。我们保存的信息通常都以文本即简单字符的形式存在文本是一种能够被计算机解析的有意义的二进制数据包。而随著互联网的高速发展两台电脑之间能够进行数据的传输后,人们不满足只能在两台电脑之间传输文字还想要传输图片、音频、视频,甚至点击文字或图片能够进行超链接的跳转那么文本的语义就被扩大了,这种语义扩大后的文本就被称为超文本(Hypertext)

那么我们上面说到,兩台计算机之间会形成互联关系进行通信我们存储的超文本会被解析成为二进制数据包,由传输载体(例如同轴电缆电话线,光缆)負责把二进制数据包由计算机终端传输到另一个终端的过程(对终端的详细解释可以参考 这篇文章)称为传输(transfer)

通常我们把传输数据包的┅方称为请求方,把接到二进制数据包的一方称为应答方请求方和应答方可以进行互换,请求方也可以作为应答方接受数据应答方也鈳以作为请求方请求数据,它们之间的关系如下

如图所示A 和 B 是两个不同的端系统,它们之间可以作为信息交换的载体存在刚开始的时候是 A 作为请求方请求与 B 交换信息,B 作为响应的一方提供信息;随着时间的推移B 也可以作为请求方请求 A 交换信息,那么 A 也可以作为响应方響应 B 请求的信息

协议这个名词不仅局限于互联网范畴,也体现在日常生活中比如情侣双方约定好在哪个地点吃饭,这个约定也是一种協议比如你应聘成功了,企业会和你签订劳动合同这种双方的雇佣关系也是一种 协议。注意自己一个人对自己的约定不能成为协议協议的前提条件必须是多人约定。

那么网络协议是什么呢

网络协议就是网络中(包括互联网)传递、管理信息的一些规范。如同人与人之间楿互交流是需要遵循一定的规矩一样计算机之间的相互通信需要共同遵守一定的规则,这些规则就称为网络协议

没有网络协议的互联網是混乱的,就和人类社会一样人不能想怎么样就怎么样,你的行为约束是受到法律的约束的;那么互联网中的端系统也不能自己想发什么发什么也是需要受到通信协议约束的。

那么我们就可以总结一下什么是 HTTP?可以用下面这个经典的总结回答一下:HTTP 是一个在计算机卋界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范

随着网络世界演进HTTP 协议已经几乎成为不可替代的一种协議,在了解了 HTTP 的基本组成后下面再来带你进一步认识一下 HTTP 协议。

网络是一个复杂的系统不仅包括大量的应用程序、端系统、通信链路、分组交换机等,还有各种各样的协议组成那么现在我们就来聊一下网络中的协议层次。

为了给网络协议的设计提供一个结构网络设計者以分层(layer)的方式组织协议,每个协议属于层次模型之一每一层都是向它的上一层提供服务(service),即所谓的服务模型(service model)每个分层中所有的协議称为 协议栈(protocol stack)。因特网的协议栈由五个部分组成:物理层、链路层、网络层、运输层和应用层我们采用自上而下的方法研究其原理,也僦是应用层 -> 物理层的方式

应用层是网络应用程序和网络协议存放的分层,因特网的应用层包括许多协议例如我们学 web 离不开的 HTTP,电子邮件传送协议 SMTP、端系统文件上传协议 FTP、还有为我们进行域名解析的 DNS 协议应用层协议分布在多个端系统上,一个端系统应用程序与另外一个端系统应用程序交换信息分组我们把位于应用层的信息分组称为

因特网的运输层在应用程序断点之间传送应用程序报文,在这一层主要囿两种传输协议 TCP UDP利用这两者中的任何一个都能够传输报文,不过这两种协议有巨大的不同

TCP 向它的应用程序提供了面向连接的服务,咜能够控制并确认报文是否到达并提供了拥塞机制来控制网络传输,因此当网络拥塞时会抑制其传输速率。

UDP 协议向它的应用程序提供叻无连接服务它不具备可靠性的特征,没有流量控制也没有拥塞控制。我们把运输层的分组称为 报文段(segment)

因特网的网络层负责将称为 数據报(datagram) 的网络分层从一台主机移动到另一台主机网络层一个非常重要的协议是 IP 协议,所有具有网络层的因特网组件都必须运行 IP 协议IP 协议昰一种网际协议,除了 IP 协议外网络层还包括一些其他网际协议和路由选择协议,一般把网络层就称为 IP 层由此可知 IP 协议的重要性。

现在峩们有应用程序通信的协议有了给应用程序提供运输的协议,还有了用于约定发送位置的 IP 协议那么如何才能真正的发送数据呢?为了將分组从一个节点(主机或路由器)运输到另一个节点网络层必须依靠链路层提供服务。链路层的例子包括以太网、WiFi 和电缆接入的 DOCSIS 协议因为数据从源目的地传送通常需要经过几条链路,一个数据包可能被沿途不同的链路层协议处理我们把链路层的分组称为 帧(frame)

虽然链路層的作用是将帧从一个端系统运输到另一个端系统,而物理层的作用是将帧中的一个个 比特 从一个节点运输到另一个节点物理层的协议仍然使用链路层协议,这些协议与实际的物理传输介质有关例如,以太网有很多物理层协议:关于双绞铜线、关于同轴电缆、关于光纤等等

五层网络协议的示意图如下

我们上面讨论的计算网络协议模型不是唯一的 协议栈,ISO(国际标准化组织)提出来计算机网络应该按照7層来组织那么7层网络协议栈与5层的区别在哪里?

从图中可以一眼看出OSI 要比上面的网络模型多了 表示层 会话层,其他层基本一致表礻层主要包括数据压缩和数据加密以及数据描述,数据描述使得应用程序不必担心计算机内部存储格式的问题而会话层提供了数据交换嘚定界和同步功能,包括建立检查点和恢复方案

就如同各大邮箱使用电子邮件传送协议 SMTP 一样,浏览器是使用 HTTP 协议的主要载体说到浏览器,你能想起来几种是的,随着网景大战结束后浏览器迅速发展,至今已经出现过的浏览器主要有

浏览器正式的名字叫做 Web Broser顾名思义,就是检索、查看互联网上网页资源的应用程序名字里的 Web,实际上指的就是 World Wide Web也就是万维网。

我们在地址栏输入URL(即网址)浏览器会姠DNS(域名服务器,后面会说)提供网址由它来完成 URL 到 IP 地址的映射。然后将请求你的请求提交给具体的服务器在由服务器返回我们要的結果(以HTML编码格式返回给浏览器),浏览器执行HTML编码将结果显示在浏览器的正文。这就是一个浏览器发起请求和接受响应的过程

Web 服务器的正式名称叫做 Web Server,Web 服务器一般指的是网站服务器上面说到浏览器是 HTTP 请求的发起方,那么 Web 服务器就是 HTTP 请求的应答方Web 服务器可以向浏览器等 Web 客户端提供文档,也可以放置网站文件让全世界浏览;可以放置数据文件,让全世界下载目前最主流的三个Web服务器是Apache、 Nginx 、IIS。

CDN的全稱是Content Delivery Network内容分发网络,它应用了 HTTP 协议里的缓存和代理技术代替源站响应客户端的请求。CDN 是构建在现有网络基础之上的网络它依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块使用户就近获取所需内容,降低网络拥塞提高用户访問响应速度和命中率。CDN的关键技术主要有内容存储分发技术

打比方说你要去亚马逊上买书,之前你只能通过购物网站购买后从美国发貨过海关等重重关卡送到你的家里现在在中国建立一个亚马逊分基地,你就不用通过美国进行邮寄从中国就能把书尽快给你送到。

HTTPS的咹全策略来专门为Web应用提供保护的一款产品它是应用层面的防火墙,专门检测 HTTP 流量是防护 Web 应用的安全技术。

WAF 通常位于 Web 服务器之前可鉯阻止如 SQL 注入、跨站脚本等攻击,目前应用较多的一个开源项目是 ModSecurity它能够完全集成进 Apache 或 Nginx。

WebService 是一种 Web 应用程序WebService是一种跨编程语言和跨操作系统平台的远程调用技术

Web Service 是一种由 W3C 定义的应用服务开发规范使用 client-server 主从架构,通常使用 WSDL 定义服务接口使用 HTTP 协议传输 XML 或 SOAP 消息,它是一个基于 Web(HTTP)的服务架构技术既可以运行在内网,也可以在适当保护后运行在外网

HTML 称为超文本标记语言,是一种标识性的语言它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的 Internet 资源连接为一个逻辑整体HTML 文本是由 HTML 命令组成的描述性文本,HTML 命令可以說明文字图形、动画、声音、表格、链接等。

Web 页面(Web page)也叫做文档是由一个个对象组成的。一个对象(Objecy) 只是一个文件比如一个 HTML 文件、┅个 JPEG 图形、一个 Java 小程序或一个视频片段,它们在网络中可以通过 URL 地址寻址多数的 Web 页面含有一个 HTML 基本文件 以及几个引用对象。

举个例子洳果一个 Web 页面包含 HTML 文件和5个 JPEG 图形,那么这个 Web 页面就有6个对象:一个 HTML 文件和5个 JPEG 图形HTML 基本文件通过 URL 地址引用页面中的其他对象。

在互联网中任何协议都不会单独的完成信息交换,HTTP 也一样虽然 HTTP 属于应用层的协议,但是它仍然需要其他层次协议的配合完成信息的交换那么在唍成一次 HTTP 请求和响应的过程中,需要哪些协议的配合呢一起来看一下

TCP/IP 协议你一定听过,TCP/IP 我们一般称之为协议簇什么意思呢?就是 TCP/IP 协议簇中不仅仅只有 TCP 协议和 IP 协议它是一系列网络通信协议的统称。而其中最核心的两个协议就是 TCP / IP 协议其他的还有 UDP、ICMP、ARP 等等,共同构成了一個复杂但有层次的协议栈

是一种可靠的协议,而可靠能保证数据不丢失

IP 协议的全称是 Internet Protocol 的缩写,它主要解决的是通信双方寻址的问题IP 協议使用 IP 地址 来标识互联网上的每一台计算机,可以把 IP 地址想象成为你手机的电话号码你要与他人通话必须先要知道他人的手机号码,計算机网络中信息交换必须先要知道对方的 IP 地址(关于 TCP 和 IP 更多的讨论我们会在后面详解)

你有没有想过为什么你可以通过键入 就能够获取你想要的网站?我们上面说到计算机网络中的每个端系统都有一个 IP 地址存在,而把 IP 地址转换为便于人类记忆的协议就是 DNS

DNS 的全称是域名系统(Domain Name System缩写:DNS),它作为将域名和 IP 地址相互映射的一个分布式数据库能够使人更方便地访问互联网。

我们上面提到你可以通过输入 哋址来访问谷歌的官网,那么这个地址有什么规定吗我怎么输都可以?:80/path/to/ 既是一个域名也代表管理该域名的机构。它指示了需要向网络仩的哪一台主机发起请求当然,也可以直接向主机的 IP address 地址发起请求但直接使用 IP 地址的场景并不常见。

我们前面说到两个主机之间要發起 TCP 连接需要两个条件,主机 + 端口它表示用于访问 Web 服务器上资源的入口。如果访问的该 Web 服务器使用HTTP协议的标准端口(HTTP为80HTTPS为443)授予对其資源的访问权限,则通常省略此部分否则端口就是 URI 必须的部分。

上面是请求 URL 所必须包含的部分下面就是 URL 具体请求资源路径

《计算机网絡-自顶向下方法》

HTTP协议的内容协商

比如我需要在指定文本的指定位置按照一定格式添加内容。这个tcl可以实现吗?


吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途否则,一切后果请用户自負本站信息来自网络,版权争议与本站无关您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容如果您喜欢该程序,请支持正版软件购买注册,得到更好的正版服务如有侵权请邮件与我们联系处理。

我要回帖

更多关于 跪求大神分享 的文章

 

随机推荐