万维网是一个分布式的超媒体系统,客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所须要的万维网文档。
万维网必须解决的几个问题:
一、怎样标志分布在整个因特网上的万维网文档?
答:万维网使用统一的资源定位符URL(Uniform Resource Locator)来标志万维网上的各类文档,并使每个文档在整个因特网的范围内具备惟一的标示符URL。
二、用怎样的协议来实现万维网上的各类连接?
答:使万维网客户程序与万维网服务器程序之间的交互遵照严格的协议,超文本传送协议HTTP(HyperText Transfer Protocol)。HTTP是一个应用层的协议,它使用TCP连接进行可靠的传递。
三、如何显示不一样风格的页面?
答:超文本标记语言HTML
四、如何使用户很方便的找到所需的信息?
答:搜索工具,好比搜索引擎。浏览器
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给浏览器)
一、创建TCP链接(三次握手的前两次)
二、HTTP请求报文(握手的第三次,把HTTP请求报文做为TCP报文的数据发送给服务器)
三、HTTP响应报文
四、释放TCP链接
(浏览器显示响应的文本)cookie
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
(实用主体,有些响应报文不用)post
状态码 都是三位数字的,分为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的特色一、使用大量的小型机来代替少许的大型机,成功缩短访问高峰时的查找时间二、核心技术PageRank,即网页排名按照指向某个页面的链接的个数进行排名,并使用了稀疏矩阵来简化了计算量(百度是按照某个网页访问量的进行排名,以及,按照金钱进行排名)ok,做为一个学渣,忽然明悟,果真是要学好数学的啊。