自己整理一下大概怎么回答:
HTTP协议是一个运行在TCP之上的简单的请求-响应协议,属于应用层协议,无状态,信息明文传输,在该协议基础上,通过SSL协议对其进行加密构建了HTTPS协议。一般来说,http协议的端口为80,https协议端口为 443。客户端在使用http协议与web服务器进行通信时的步骤为:(1) 客户端与服务器进行连接 (2)客户端向服务器提出请求 (3) 服务器接受请求,并根据请求返回相应的文件作为应答 (4) 客户与服务器关闭连接
-
使用https协议通信时的步骤
- 客户使用https url访问服务器,则要求web 服务器建立ssl链接
- web服务器接收到客户端的请求之后,会将网站的证书(证书中包含了公钥),返回或者说传输给客户端。
- 客户端和web服务器端开始协商SSL链接的安全等级,也就是加密等级
- 客户端浏览器通过双方协商一致的安全等级,建立会话密钥,然后通过网站的公钥来加密会话密钥,并传送给网站
- web服务器通过自己的私钥解密出会话密钥
- web服务器通过会话密钥加密与客户端之间的通信
-
状态码
- 200:客户端发送的请求在服务端被正常处理了
- 204:服务器接收的请求已成功处理,但返回的响应报文中不含实体的主体部分
- 301:永久性重定向
- 302,303临时性重定向
- 304:和浏览器缓存有关
- 400:请求报文中存在语法错误
- 401:发送的请求需要有通过HTTP认证的认证信息
- 403:对请求资源的访问被服务器拒绝了
- 404:服务器上无法找到请求的资源
- 500:服务器在执行请求时发生了错误
- 503:服务器暂时处于超负载或者正在进行停机维护
-
缓存:强缓存、协商缓存
-
Http支持的方法,然后方法的性质:安全性、幂等性、可缓存性