万维网(World Wide Web),提供分布式服务,万维网中所有网点都有一个服务进程,不断监听TCP的80端口(在HTTP通信的时候是通过TCP进行可靠传输的,TCP的连接请求报文中有目的端口,即这里的80端口)。
万维网(World Wide Web),以客户服务器(即浏览器、万维网客户进程)方式工作。客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。在浏览器上显示出页面(万维网的文档)。
URL,统一资源定位符。其一般的形式为:
http://<主机IP地址或域名>:<端口>/<路径>
URL和域名的区别
URL和域名是不相同的,URL一般是含有域名的网络地址,可以是本网站的,也可以是其他网站的。
域名经过DNS解析成URL。
域名只是一个网站的别名,但是全网只能有一个。
网站的标识用不同的端口或者不同的主机地址(一个电脑可以设置多个IP地址)来区分,如果上述都不能改的话,就用主机头即域名(例如www.baidu.com)来区分。
用户访问URL或点击网页上的URL浏览器和对应服务器所做的工作:
- 浏览器分析连接指向的URL。
- 浏览器向DNS请求解析分析出来的域名的IP地址。
- 域名系统DNS解析出域名的IP地址
- 浏览器与解析出的IP地址的服务器(网站是部署在服务器上的,而IP地址就是服务器IP地址)进行TCP请求连接。
- 连接建立成功后,浏览器向服务器发送请求报文,向服务器请求文件。
- 服务器传回响应报文,并把文件发送给浏览器。
- TCP释放连接。
- 浏览器显示服务器传来的文件。
注意:浏览器也可以只显示文件中的一部分内容,比如只显示文字。图片用缩略图的形式加载。但是,随后要手动加载这些图片时,每点击加载一次,浏览器和服务器之间就要进行上述8个步骤。
http协议的两个特点:
本身无连接,在双方交换HTTP报文前不用进行HTTP连接。
无状态。即第二次访问和第一次访问相同url,浏览器和服务器执行相同的处理步骤。
服务器为了能够识别特定的客户端,突破无状态的限制,就出现了session。
session
session时存放在服务端的。为了能够识别客户端,会在客户端存放一个唯一标识即cookie,它和session搭配(在cookie文本文件中添加一个sid),让服务端能够识别客户。
cookie
存储在用户主机上的文本文件,通过识别码来记录一段时间内某用户的访问记录。它是第一次访问服务器时生成并返回本地,并与之绑定了对应的session来记录。常见的网站的账号密码保存就可以用cookie技术。
URL重写技术
当cookie没有被禁用时,客户端和服务端可以通过cookie和session id的方式来实现session。但如果客户端cookie被禁用,服务端就会使用URL重写技术,即每次HTTP交互,URL后面都会被附加上一个诸如 sid=xxxxx 这样的参数,服务端据此来识别用户。