文章目录
一.万维网(WWW)
在这个空间中,有用的事物称为资源,并由一个全域“统一资源定位符”(URL)标识(万维网的每个页面都有一个唯一的地址,这些地址统称为“统一资源定位符”)。用户通过点击超链接获取资源,这些资源通过超文本传输协议(HTTP)传送给使用者。万维网以客户/服务器方式工作,用户使用的浏览器就是万维网客户程序,万维网文档所驻留的主机运行服务器程序。万维网使用超文本标记语言HTML,使得万维网页面设计者可以很方便地从一个界面的链接转到另一个界面,并能够在自己的屏幕上显示出来。
URL的一般形式(不区分大小写)
如:https://www.pku.edu.cn/
1.内核部分标准构成
(1)统一资源定位符(URL):负责标识万维网上的各种文档,并使每个文档在整个万维网的范围内具有唯一的标识符URL
(2)超文本传输协议(HTTP):一个应用层协议,它使用TCP连接进行可靠的传输,HTTP是万维网客户程序和服务器程序之间交互所必须严格遵守的协议。
(3)超文本标记语言(HTML):一种文档结构的标记语言,它使用一些约定的标记对页面上的各种信息(包括文字、声音、图像、视频等)、格式进行描述
2.工作流程
(1)Web用户使用浏览器(指定URL)与Web服务器建立连接,并发送浏览请求
(2)Web服务器把URL转换为文件路径,并返回信息给Web浏览器
(3)通信完成,关闭连接
二.超文本传输协议(HTTP)
HTTP定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器;HTTP是面向事务的应用层协议,规定了在浏览器和服务器之间的请求和响应的格式与规则,是万维网上能够可靠地交换文件的重要基础。
1.HTTP的操作过程
(1)每个万维网站点都有一个服务器进程,它不断地监听TCP的端口80(默认)
(2)当监听到连接请求后便与浏览器建立连接
(3)TCP连接建立后,浏览器就向服务器发送请求获取某个Web页面的HTTP请求
(4)服务器收到HTTP请求后,将构建所请求Web页的必需信息,并通过HTTP响应返回给浏览器
(5)浏览器再将信息进行解释,然后将Web页显示给用户
(6)TCP连接释放
2.用户单击鼠标后发生的事件按顺序
(1)浏览器分析链接指向页面的 URL
(2)浏览器向DNS请求解析域名的IP地址(把域名转化为IP地址)(请求域名解析过程)
(3)域名服务器DNS解析出IP地址
(4)浏览器与该服务器建立TCP连接(默认端口号为80)
(5)浏览器发出HTTP请求:GET/chn/index.html
(6)服务器通过HTTP响应把文件index.htm发送给浏览器
(7)TCP连接释放
(8)浏览器解释文件index.htm,并将Web页显示给用户(浏览器可以只下载文本部分)
3.HTTP的特点
(1)HTTP是无状态的,同一个客户第二次访问同一个服务器上的页面时,服务器的响应与第一次被访问时的相同
(2)HTTP的无状态特性简化了服务器的设计,使服务器更容易支持大量并发的HTTP请求
(3)使用Cookie加数据库的方式来跟踪用户的活动
(4)HTTP采用TCP作为运输层协议,保证了数据的可靠传输。但HTTP协议本身是无连接的(通信双方在交换HTTP报文之前不需要先建立HTTP连接)
(5)HTTP既可以使用非持久连接,也可以使用持久连接(HTTP/1.1支持)
4.持久连接与非持久连接
(1)非持久连接:每个网页元素对象(如JPEG图形、Flash等)的传输都需要单独建立一个TCP连接
HTTP/1.0使用非持续连接
非持续连接对每次请求/响应都建立一次TCP连接。在浏览器请求一个包含n个图片对象的Web页面时,服务器需要传输1个基本HTML文件和n个图片对象,因此一共是(n+1)个对象,需要打开和关闭TCP连接(n+1)次。
(2)持久连接:是指万维网服务器在发送响应后仍然保持这条连接,使同一个客户和服务器可以继续在这条连接上传送后续的HTTP请求与响应报文
HTTP/1.1的默认方式为持续连接
非流水线:客户在收到前一个响应后才能发出下一个请求
流水线:客户每遇到一个对象引用,就立即发出一个请求
5.HTTP的报文结构
HTTP是面向文本的
【报文类型】
(1)请求报文:从客户向服务器发送的请求报文。
其中的方法包括
方法(操作) | 意义 |
---|---|
GET | 请求读取由URL标识的信息,实体通常为空 |
POST | 给服务器添加信息(如注释)。实体非空,需要用户填写内容(如提交表单) |
HEAD | 请求读取又URL标识的信息的首部。不返回请求对象 |
CONNECT | 用于代理服务器 |
PUT | 上传对象 |
DELETE | 删除对象 |
如 某浏览器发出的请求报文:
①GET /index.html HTTP/1.1
方法:GET
URL:/index.html
版本:HTTP/1.1
②Host: www.test.edu.cn
表示index.html存在此网址(www.test.edu.cn)上
③Connection: Close
具体连接方式,Close表示非持续连接
④Cookie: 123456
用户标识,表明此Cookie访问过www.test.edu.cn
*Cookie是一个存储在用户主机中的文本文件。它由web服务器产生,作为识别用户的手段。由于服务器的后端数据库记录了用户在Web站点上的活动,这些信息(如用户的个人信息及购物的偏好等)有可能被出卖给第三方,从而威胁到了用户的隐私。
(2)响应报文:从服务器到客户的回答
状态码
①1xx表示通知信息的,如请求收到了或正在处理。
②2xx表示成功,如接受或知道了。
③3xx表示重定向,如要完成请求还必须采取进一步的行动。
④4xx表示客户的差错,如请求中有错误的语法或不能完成。
⑤5xx表示服务器的差错,如服务器失效无法完成请求