计算机网络 --万维网www
万维网是一个分布式的超媒体系统,客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所需要的万维网文档。
万维网必须解决的几个问题:
1、怎样标志分布在整个因特网上的万维网文档?
答:万维网使用统一的资源定位符URL(Uniform Resource Locator)来标志万维网上的各种文档,并使每一个文档在整个因特网的范围内具有唯一的标示符URL。
2、用怎样的协议来实现万维网上的各种链接?
答:使万维网客户程序与万维网服务器程序之间的交互遵守严格的协议,超文本传送协议HTTP(HyperText Transfer Protocol)。HTTP是一个应用层的协议,它使用TCP链接进行可靠的传递。
3、如何显示不同风格的页面?
答:超文本标记语言HTML
4、如何使用户很方便的找到所需的信息?
答:搜索工具,比如搜索引擎。
URL
URL的一般形式由以下四个部分组成:
<协议>://<主机>:<端口>/<路径>
协议一般为http或https,其次是ftp(文件传送协议FTP)
主机就是指该主机在因特网上的域名
端口和路径,有时可以省略,比如默认端口80,默认首页等
例如 http://www.tsinghua.edu.cn
用户使用URL并非仅仅能够访问万维网的页面,而且还能够通过URL使用其他的因特网应用程序,如FTP或USENET新闻组等。
HTTP
HTTP协议定义了浏览器(万维网客户端进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。HTTP是面向事务的应用层协议。
包括4步:
(浏览器提取a标签的网址)
(DNS解析:浏览器向DNS请求解析www.tsinghua.edu.cn的IP地址,DNS反馈其IP给浏览器)
1、建立TCP连接(三次握手的前两次)
2、HTTP请求报文(握手的第三次,把HTTP请求报文作为TCP报文的数据发送给服务器)
3、HTTP响应报文
4、释放TCP连接
(浏览器显示响应的文本)
HTTP协议本身是无连接的。使用了TCP连接,无需建立HTTP连接。
HTTP协议是无状态的。第二次请求过程和第一次相同。这简化了服务器的设计,使服务器更容易支持高并发。
HTTP/1.0 是非持续连接的
HTTP/1.1 是持续连接的。
所谓持续连接就是服务器再发送响应后,仍然再一段时间内保持这条连接。这并不局限于传送同一个页面上链接的文档,只要是这个服务器上的就行。
HTTP/1.1 协议有两种工作方式
without pipelining 客户接受到一个请求后才能发送下一个请求
with pipelining 客户在接受到响应报文之前就能发送新的请求到服务器,减少了TCP连接的空闲时间,提高了效率。
代理服务器
proxy server,又称为 Web cache。
代理服务器把最近的一些请求和响应赞存在本地,当新请求到达时,若代理服务器发现这个请求与暂时存放的请求相同,就返回暂存的响应,不需要根据URL再次访问因特网的资源。
HTTP的报文结构,CR代表回车,LF代表换行
请求报文:
方法 URL 版本CRLF(请求行)
首部字段名: 值CRLF(首部行 )
CRLF
(实用主体,通常不用,但是post一般会用)
响应报文:
版本 状态码 短语CRLF(请求行)
首部字段名: 值CRLF(首部行 )
CRLF
(实用主体,有些响应报文不用)
状态码 都是三位数字的,分为5大类,共33种。
1xx 表示通知信息的,如请求收到了或正在处理
2xx 表示成功
3xx 表示重定向
4xx 表示客户的差错,如请求中有错误的语法或不能完成
5xx 表示服务器的差错,如服务器失效无法完成请求
比如
200 Success
202 Accepted
301 Moved permanently
302 Moved Temporarily
400 Bad Request
404 Not Found
详细介绍http://baike.baidu.com/link?url=pmk-ihSjQD9fh9MQPifjB517O5bKnfdOcJnY0gcp1nP2ZfMTP5jOxvzbSgOUpnpe57sMbUMABZ1TTmYB3fWl1K
首部字段名有很多,常用的得了解,这里先写一些,以后更新
请求报文的首部字段名:
Connection: close(发送完文档就可以释放连接)
Cookie: 1312321312312
响应报文的首部字段名:
Location: http://www.xyz.edu (新的URL,重定向时使用)
Set-cookie: 1312321312312 (服务器给浏览器设置cookie)
详细的关于HTTP首部字段名的介绍
http://blog.csdn.net/linhaiman/article/details/7025336
HTML
现在是H5,正在学习当中,以后再补充
浏览器
这个,构造复杂,核心是HTML解释器,对于想学好js的同学,还是有必要了解的。
全文检索搜索引擎
google的特点
1、使用大量的小型机来代替少量的大型机,成功缩短访问高峰时的查找时间
2、核心技术PageRank,即网页排名
按照指向某个页面的连接的个数进行排名,并使用了稀疏矩阵来简化了计算量
(百度是按照某个网页访问量的进行排名,以及,按照金钱进行排名)
ok,作为一个学渣,突然明悟,果然是要学好数学的啊。