超文本传输协议:(80端口)
浏览器向服务器80端口发送连接建立请求->建立TCP连接->浏览器向服务器发送浏览某个页面的请求->服务器响应,返回所请页面->TCP连接释放。
http协议是无状态的,不具识别记忆用户功能;
持续连接与非持续连接
默认HTTP的端口为80,HTTPS的端口为443;
HTTP协议永远都是客户端发起请求,服务器回复响应,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端。
请求消息格式:请求行
通用信息头
请求头
实体头CRLF【回车换行】实体内容
请求行格式:请求方法【空格】请求URI【格式】版本号【回车换行】
实例:POST http://192.68.2.217/index.jspHTTP/1.1
请求方法:GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT;
响应消息格式:状态行
通用信息头
响应头
实体头CRLF实体内容
状态行:版本号【空格】状态码【空格】原因【回车换行】
实例:HTTP/1.0 200 OK/Bad Request
常用的请求方法:GET是向服务器发索取数据;POST是向服务器提交数据,提交的数据位于信息头后面的实体;
Web缓存机制
缓存的目的是为了在很多情况下减少发送请求,同时在许多情况下可以不需要发送完整响应;
断点续传:在连接断开重接时,客户端只请求该资源未下载的部分,从而分块请求资源;
多线程下载:下载工具开启多个发出HTTP请求的线程,每个http请求只请求该资源的一部分,合并每个线程下载文件就是该资源;
HTTPS 是以安全为目标的HTTP通道,即HTTP下加入SSL;
HTTPS的实现原理:
基本的加解密算法类型:1、对称加密,密钥只有一个,加密解密为同一个密码,如DES,AES
2、非对称加密,密钥成对出现,加密解密使用不同的密钥,如RSA,DSA;
HTTP代理服务器:代理网络用户去取得网络信息,并起缓存作用;对于客户端浏览器而言,代理服务器相当与服务器,对于Web服务器而言,代理服务器又相当于客户端。