HTTP知识点
http 和 https
-
HTTP(超文本传输协议)默认端口号80;使用TCP协议
-
HTTPS(超文本传输安全协议)默认端口号443;使用TCP协议
-
HTTPS = HTTP+SSL/TLS,主要目的是提升网络的安全性能
-
HTTP注意事项:
无连接,传输完成就关闭
媒体独立: 只要服务器双方能够解析,任何类型的数据都可以通过http发送
无状态:没有记忆能力
-
CGI:(百度百科)公共网关接口(Common Gateway Interface,CGI)是Web 服务器运行时外部程序的规范,按CGI 编写的程序可以扩展服务器功能。CGI 应用程序能与浏览器进行交互,还可通过数据API与数据库服务器等外部数据源进行通信,从数据库服务器中获取数据。格式化为HTML文档后,发送给浏览器,也可以将从浏览器获得的数据放到数据库中。几乎所有服务器都支持CGI,可用任何语言编写CGI,包括流行的C、C ++、Java、VB 和Delphi 等。CGI分为标准CGI和间接CGI两种。标准CGI使用命令行参数或环境变量表示服务器的详细请求,服务器与浏览器通信采用标准输入输出方式。间接CGI又称缓冲CGI,在CGI程序和CGI接口之间插入一个缓冲程序,缓冲程序与CGI接口间用标准输入输出进行通信
-
证书颁发机构(CA)
-
HTTPS协议,传输流程:
- 因为HTTPS是基于TCP协议传播的,所以先建立TCP连接
- 客户端和服务端验证双方操作系统已经下载的数字证书,用于判断对方的可行程度
- 双方传递密钥,为了防止密钥泄密,需要采用加密算法:例如DH算法,对密钥加密
- 传输隧道建立成功,之后的网页数据都通过传输的该隧道,加密之后传输
-
SSL/TLS其实是一种东西,只是两种声明
-
HTTP和HTTPS区别:
-
HTTP明文传输,数据安全性差,HTTPS加密传输,安全性高
-
HTTPS需要CA证书,免费证书比较少,需要花钱购买
-
HTTP的响应速度比较快,因为只需要TCP的三次握手即可,但是HTTPS还需要SSL/TSL的9次握手,所以响应慢
-
HTTP和HTTPS的默认端口号不同,HTTP默认端口号为80,HTTPS的默认端口号是443
-
HTTPS因为是建立在SSL/TLS的HTTP协议,所以更加耗费服务器资源
-
-
https一般使用的加密和HASH算法
-
非对称加密算法:RSA,DSA/DSS
对称加密算法:AES, RC,3DES
HASH算法:MD5,SHA1,SHA256
-
对HTTPS最常见的攻击手段就是SSL证书欺骗或者叫SSL劫持
-
HTTP是基于C/S 的架构模型,HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。
-
发送方HTTP请求结构:请求行,请求头,空行,请求数据
接受方HTTP响应结构,状态行,消息报头,空行,响应正文
-
HTTP的请求方法(原图地址:https://www.runoob.com/http/http-methods.html)
-
HTTPS的状态码(原图地址:https://www.runoob.com/http/http-methods.html)
-
MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的标准,用来表示文档、文件或字节流的性质和格式。MIME 的组成结构非常简单,由类型与子类型两个字符串中间用 / 分隔而组成,不允许有空格。
以上内容为菜鸟教程上学习摘录的笔记(https://www.runoob.com/http/http-tutorial.html)