计算机网络之万维网WWW
万维网 WWW (World Wide Web)并非某种特殊的计算机网络,而是一个大规模的、联机式的信息储藏所。
万维网用链接的方法能非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。这种访问方式称为“链接”。
万维网以客户服务器方式工作。浏览器就是在用户计算机上的万维网客户程序。万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也称为万维网服务器。
客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。
统一资源定位符URL
统一资源定位符URL (Uniform Resource Locator)使每一个文档在整个因特网的范围内具有唯一的标识符。
由以冒号隔开的两大部分组成,并且在 URL中的字符对大写或小写没有要求。
URL 的一般形式是:
<协议>://<主机>:<端口>/<路径>
协议就是指是用什么协议来获取万维网文档。现在最常用的协议就是http,其次是ftp。
超文本传送协议HTTP
HTTP协议定义了浏览器怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。
从层次的角度看,HTTP 是面向事务的(transaction-oriented)应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。
万维网的大致工作过程如下:
每个万维网网点都有一个服务器进程,它不断地监听TCP的端口80,以便发现是否有浏览器向它发出连接建立请求。一旦监听到连接建立的请求并建立了TCP连接之后,浏览器就向万维网服务器发出某个页面的请求,服务器接着就返回所请求的页面作为响应。最后,TCP连接被释放。
假如我们点击了一个指向“www.tsinghua.edu.cn/chn/yxsz/index.htm”的超链接,在HTTP/1.0标准下会发生下面几个事件:
(1) 浏览器分析超链指向页面的 URL。
(2) 浏览器向 DNS 请求解析 www.tsinghua.edu.cn的 IP 地址。
(3) 域名系统 DNS 解析出清华大学服务器的 IP地址。
(4) 浏览器与服务器建立 TCP连接
(5) 浏览器发出取文件命令:
GET /chn/yxsz/index.htm。
(6) 服务器给出响应,把文件 index.htm发给浏览器。
(7) TCP 连接释放。
(8) 浏览器显示“清华大学院系设置”文件 index.htm 中的所有文本。
HTTP 1.0 协议是无状态的(stateless)。也就是说,同一个客户第二次访问同一个服务器上的页面时,服务器的响应与第一次被访问时的响应相同。服务器不记得曾经访问过的这个用户,更不记得访问过多少次。
HTTP 协议本身也是无连接的,虽然它使用了面向连接的 TCP 向上提供的服务。虽然HTTP使用了TCP连接,但是通信的双方在交换HTTP报文之前不需要先建立HTTP连接。
与HTTP/1.0不同,HTTP/1.1使用了持续连接。即万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的 HTTP 请求报文和响应报文。
这并不局限于传送同一个页面上链接的文档,而是只要这些文档都在同一个服务器上就行。
HTTP有两类报文:
请求报文——从客户向服务器发送请求报文。
响应报文——从服务器到客户的回答。
请求报文的结构如下:
报文由三个部分组成,即开始行、首部行和实体主体。在请求报文中,开始行就是请求行。
响应报文的结构如下:
响应报文的开始行是状态行。状态行包括三项内容,即 HTTP 的版本,状态码,以及解释状态码的简单短语。
状态码都是三位数字:
1xx 表示通知信息的,如请求收到了或正在进行处理。
2xx 表示成功,如接受或知道了。
3xx 表示重定向,表示要完成请求还必须采取进一步的行动。
4xx 表示客户的差错,如请求中有错误的语法或不能完成。
5xx 表示服务器的差错,如服务器失效无法完成请求。
代理服务器
代理服务器(proxy server)又称为万维网高速缓存(Webcache),它代表浏览器发出 HTTP 请求。
万维网高速缓存把最近的一些请求和响应暂存在本地磁盘中。当与暂时存放的请求相同的新请求到达时,万维网高速缓存就把暂存的响应发送出去,而不需要按 URL 的地址再去因特网访问该资源。
使用高速缓存可减少访问因特网服务器的时延,没有使用高速缓存的示意图如下:
使用高速缓存的情况如下:
(1)浏览器访问因特网的服务器时,要先与校园网的高速缓存建立 TCP 连接,并向高速缓存发出HTTP 请求报文
(2)若高速缓存已经存放了所请求的对象,则将此对象放入HTTP 响应报文中返回给浏览器。
(3)否则,高速缓存就代表发出请求的用户浏览器,与因特网上的源点服务器建立 TCP 连接,并发送 HTTP 请求报文。
(4)源点服务器将所请求的对象放在 HTTP 响应报文中返回给校园网的高速缓存。
(5)高速缓存收到此对象后,先复制在其本地存储器中(为今后使用),然后再将该对象放在HTTP 响应报文中,通过已建立的TCP 连接,返回给请求该对象的浏览器。
转载于:https://www.cnblogs.com/duadu/p/6335782.html
计算机网络之万维网WWW相关推荐
- 计算机网络-应用层-万维网WWW
这次的主要内容是: (1)域名系统DNS (2)万维网和HTTP协议以及万维网的两种不同的搜索引擎 (3)电子邮件的传送过程 (4)动态主机配置协议DHCP的特点 (5)网络管理的三个组成部分 (6) ...
- 计算机网络技术---万维网
万维网,分布式超媒体系统,超文本系统的扩充. 一个超文本有多个信息链接构成,利用一个链接可是用户找到另一个文档. 超文本是万维网的基础. 超文本和超媒体区别: 文档内容不同.超文档仅包含文本信息,而超 ...
- 计算机网络 万维网WWW
万维网概述 万维网 WWW (World Wide Web) 并非某种特殊的计算机网络. 万维网是一个大规模的.联机式的信息储藏所. 万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点, ...
- 计算机网络谢希仁第七版课后答案第六章 应用层
6-01 因特网的域名结构是怎么样的?它与目前的电话网的号码结构有何异同之处?答:(1)域名的结构由标号序列组成,各标号之间用点隔开: - . 三级域名 . 二级域名 . 顶级域名 各标号分别代表不同 ...
- 计算机网络第六章:应用层
目录 1 域名系统 DNS 1.1 域名系统概述 1.2 因特网的域名结构 1.3 域名服务器 2 文件传送协议 2.1 FTP概述 2.2 FTP 的基本工作原理 3 按远程终端协议 TELNET ...
- 计算机网络第6章(应用层)
B站视频:计算机网络微课堂(有字幕无背景音乐版) 网址:https://www.bilibili.com/video/BV1c4411d7jb?p=61 目录 6.1.应用层概述 6.2.客户/服务器 ...
- 计算机网络考试试题库-期末考试题库含答案
一.选择题(第一章 1-10:第二章 11-20;第三章21-35:第四章36-60 :第五章 61-73道:第六章 74-84道:第七章85-90:第九章91-95:第十章96-100) 1.下列四 ...
- 计算机网络1-6合集
视频课程见,B站@胡科大教书匠,瑞斯拜老师,yyds. 笔记整理如下: 思维导图 图示说明 1.1.计算机网络在信息时代的作用 计算机网络已由一种通信基础设施发展成为一种重要的信息服务基础设施 计算机 ...
- 谢希仁计算机网络第七版答案
计算机网络第七版答案 第一章 概述 1-01 计算机网络向用户可以提供那些服务?答: 连通性和共享 1-02 简述分组交换的要点.答:(1)报文分组,加首部(2)经路由器储存转发(3)在目的地合并 1 ...
- 计算机网络(6)应用层
计算机网络(1)概述 计算机网络(2)物理层 计算机网络(3)数据链路层 计算机网络(4)网络层 计算机网络(5)传输层 传输层为应用进程提供了端到端的通信服务.但不同的网络应用的应用进程之间,还需要 ...
最新文章
- 用@Data注解的形式替代类中的setter、getter方法
- mysql是如何管理数据结构_MySQL索引背后的数据结构和原理
- Linux(CentOS)安装配置zeromq、jzmq(解决各种问题)
- “chaos”的算法---之哈希表(HASH)算法详解
- python 调用 c 生成数组_python调用c++传递数组的实例
- 高通 MSM8K bootloader : SBL1 .
- spring boot 整合redis实现session共享
- markdown表格在github/gitee中合并单元格
- 【网络安全】关于ARP攻击的原理以及在Kali Linux环境下的实现
- bat文件打开一闪就没了_window文件夹目录树的创建
- uvm 形式验证_谈一谈IC flow中的形式验证
- 基于JAVA+SpringMVC+MYSQL的在线招标管理系统
- Git中如何利用生成SSH个人公钥访问git仓库
- 沸点百度文库下载器v2.3.3.2绿色版
- ADS仿真 之 交流仿真和S参数仿真示例
- 解决360Wifi无法在校园网和企业网下使用的方法
- NS,DNS和A记录 之间关系
- and design 如何引入阿里图表矢量库 创建自定义icon
- 钽电容技术参数及封装
- C语言-学习笔记完整版
热门文章
- 安装bootcamp时提示“找不到$winpedriver$文件夹,请验证该文件夹是否和bootcamp处于同一文件夹内?”...
- linux下ftp权限控制
- js关于两个字符串的加减乘除运算
- pyinstaller将py文件转成exe格式
- javascript Date日期类
- [LeetCode]Reverse Integer
- ubuntu12.04 Struts2 配置过程中出现的错误
- 运筹学——线性规划及单纯形法求解
- 从 阿西莫夫机器人三大定律 谈起
- Maven Plugins