备案核验单网站负责人,wordpress 极速模板,网站建设排版规定,中国设计师网站系列文章目录 
什么是计算机网络#xff1f; 什么是网络协议#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能#xff08;1#xff09;——速率、带宽、延迟  计算机网络性能#xff08;2#xff09;…系列文章目录 
什么是计算机网络 什么是网络协议 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能1——速率、带宽、延迟  计算机网络性能2——时延带宽积、丢包率、吞吐量/率 计算机网络体系结构概念 OSI参考模型基本概念 OSI参考模型中非端-端层物理层、数据链路层、网络层功能介绍 OSI参考模型中端-端层传输层、会话层、表示层、应用层功能介绍 TCP/IP参考模型基本概念包括五层参考模型 网络应用的体系结构 网络应用进程通信 网络应用对传输服务的需求 系列文章目录什么是WebHTTP协议概述HTTP连接非持久性连接(Nonpersistent HTTP)持久性连接(Persistent HTTP) HTTP消息格式HTTP请求消息HTTP响应消息HTTP方法的类型  什么是Web 
WebWorld Wide Web即我们常见的www也叫万维网。由Tim Berners-Lee这位伟大的科学家发明。 Web最基本的构成要素是网页网页之间互相链接就形成了庞大的信息网络、服务网络等等。 
网页(Web Page)包含多个对象(objects。 
对象HTML文件、JPEG图片、视频文件、动态脚本等每个网页包含基本HTML文件这个文件又包含对其他对象引用的链接。 
互联网上有那么多的网页那就又遇到了寻址的问题。这里就是web对象的寻址。用URL(Uniform Resoure Locator)统一资源定位器标识web对象在RFC1738中有详细描述。基本格式为Scheme://host:port/path。如下所示这里省略了协议名称默认是http协议。 HTTP协议概述 
Web应用遵循的协议就是HTTP协议HyperText Transfer Protocol。 
即超文本传输协议。这个协议采用C/S结构。 客户—Browser请求、接收、展示Web 对象服务器—Web Server响应客户的请求 发送对象。Apache web server是现在是一个标准。  
HTTP应用层协议使用的传输层协议就是TCP协议。 
服务器在80端口等待客户的请求浏览器发起到服务器的TCP连接(创建套接字Socket)服务器接受来自浏览器的TCP连接浏览器(HTTP客户端)与Web服务器(HTTP服务器)交换HTTP消息关闭TCP连接 
HTTP应用协议是一个无状态(stateless)协议。通俗地讲就是服务器不维护任何有关客户端过去所发请求的信息。比如两分钟之前请求了百度的页面两分钟后再次请求服务器端对这两次请求是不区分的。服务器就是无记忆的。 
一般来说大家更喜欢使用无状态的协议因为有状态的协议往往更复杂。因为需要维护状态(历史信息)此外如果客户或服务器失效会产生状态的不一致解决这种不一 致代价高。 HTTP连接 
我们已经知道web应用所遵循的应用层协议是HTTP协议HTTP底下依靠的是TCP传输层协议建立连接。 
那在对TCP的使用上是有两种不同的方法的我们称为HTTP连接的两种类型。 非持久性连接(Nonpersistent HTTP) 
每个TCP连接最多允许传输一个 对象HTTP 1.0版本使用非持久性连接 
大致工作过程 大家可能遇到过这种情况网速较慢的情况下我们打开一个网页文字都出来了但是那些图片一张一张地慢慢才出来这从一定程度上反映了上面的工作过程。 
我们怎么来计算这个过程的时间下面进行响应时间分析与建模。 RTT(Round Trip Time)从客户端发送一个很小的数据包到服务器 并返回所经历的时间。  响应时间(Response time) 发起、建立TCP连接1个RTT发送HTTP请求消息到HTTP响应消息的前几个字节到达1个RTT响应消息中所含的文件/对象传输时间…  Total2RTT 文件发送时间。  非持久性连接的问题 
每个对象需要2个RTT以上的时间才能获得。操作系统需要为每个TCP连接开销资源(overhead)。浏览器打开多个并行的TCP连接以获取网页所需对象这个时候给服务器端带来很大的负担。 持久性连接(Persistent HTTP) 
每个TCP连接允许传输多个对象HTTP 1.1版本默认使用持久性连接 
建立TCP资源是有代价的也就是说TCP连接资源是宝贵的。那我们就尽可能多利用这次连接。 
对比非持久性连接持久性连接发送响应后服务器保持TCP连接的打开后续的HTTP消息可以通过这个连接发送。 
细分的话就有两种类型 无流水(pipelining)的持久性连接 客户端只有收到前一个响应后才发送新的请求。每个被引用的对象耗时1个RTT对比2RTT减少了建立连接的一个RTT时间开销。  带有流水机制的持久性连接 HTTP 1.1的默认选项。客户端只要遇到一个引用对象就尽快发出请求。就不用等前面那个响应来。理想情况下收到所有的引用对象只需耗时约1个RTT。  HTTP消息格式 
HTTP协议有两类消息 
请求消息(request)响应消息(response) HTTP请求消息 请求消息是用ASCII码写的所以只要有计算机基础的人就可以读懂。 第一行是请求行。包括请求命令GET、POST…、URL、http版本  接着几行是头部行。包括主机名称Host、浏览器类型和版本、连接状态、接受的语言。  接着是一个空行。  空行下面是消息体。  
什么时候请求会有消息体呢想想我们平时登录一个网站是不是要填写一些基本信息和密码浏览器就会把这些数据传给服务器。那把这些用户输入信息传给服务器有哪些方法 
主要有下面这些方法 POST方法。使用POST方法可以把网页中的表格里的数据放到请求消息的消息体里传给服务器服务器再从消息体里提出这些数据。  GET方法。也叫URL方法。输入的信息比较少的话可以把输入信息通过请求行的URL字段上传。这样URL就会有变。比如   
HTTP响应消息 HTTP响应消息同样是由ASCII码写的所以我们也是可以直接读的。 
第一行是状态行。包括http版本和状态码以及状态码的解释。接着几行是头部行。包含的内容和请求消息的头部行差不多。注意Date字段是Web服务器生成这个响应消息的时间Server是服务器端所使用的软件。接着是一个空行。接着是响应的HTML文件数据。 HTTP方法的类型 HTTP/1.0 GETPOSTHEAD。要求服务器server不要将所请求的对象放入响应消息中。这个往往是做测试用。  HTTP/1.1 GET、PUT。将消息体中的文件上传到URL字段所指定的路径。DELETE 。 删除URL字段所指定的文件