什么是http?
超文本传输协议,基于TCP/IP协议传输数据,所有的www文件都必须遵守这个标准
什么是https?
是被披上SSL外壳的http,由http进行通信,利用ssl/tls进行加密传输。
http与https的区别?
安全性上,https是安全超文本协议,在http基础上有更强的安全性。
申请证书上,https需要使用ca申请书
传输协议上,http是超文本传输协议,明文传输;https是具有安全性的ssl加密传输协议。
连接方式和端口,http连接简单,是无状态的,端口是80;https在http基础上使用了ssl协议进行加密传输,端口是80
HTTP状态码?
1开头(信息性状态码)
2开头(请求成功)表示成功处理了请求
200 (成功)服务器已成功处理了请求
201 (已建立)请求成功并且服务器创建了新的资源
202 (已接受)服务器接收了请求,但还没处理
203 (非授权信息)服务器已成功处理,但返回的信息可能来自另一来源
204 (无内容)服务器成功处理了请求,但没有返回任何内容
205 (重置内容)服务器成功处理了请求,但没有返回任何内容
206 (部分内容)服务器成功处理了部分GET请求
3开头(请求被重定向)表示完成了请求,需要进一步操作
300 (多种选择)针对请求,服务器可执行多种操作。服务器可以根据请求者选择一项操作
301 (永久移动)请求的网页已经永久移动到新的位置
302 (临时移动)服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求
303 (查看其他位置)请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码
304 (未修改)自从上次请求后,请求的网页未修改过
305 (使用代理)请求者只能使用代理访问请求的页面
307 (临时重定向)服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求
4开头(请求错误)
400 (错误请求)服务器不理解请求的语法
401 (未授权)请求需要身份验证
403 (禁止)服务器拒绝了请求
404 (未找到)服务器找不到请求的网页
5开头(服务器错误)
500 (服务器内部错误)服务器内部发送错误,无法完成请求
501 (尚未实施)服务器不具备完成请求的功能
502 (错误网关)服务器作为网关或代理,从上游服务器收到无效响应
503 (服务不可用)服务器目前无法使用
504 (网关超时)服务器作为网关或代理,但是没有及时从上游的服务器收到请求
505 (http版本不受支持)服务器不支持请求中所用的http协议版本
https流程?
客户端发起一个https请求
服务端把事先配置好的公钥证书返回给客户端
客户端验证公钥证书,是否在有效期内,是不是匹配客户端请求的站点,他的上一级证书是否有效,递归验证,直到验证到根证书
客户端使用伪随机数生成会话密钥,然后用证书的公钥加密这个会话密钥,发送给服务端
服务端使用自己的私钥解密这个消息,得到会话。双方都持有相同的会话密钥
服务端使用会话密钥加密“明文”,发送给客户端
客户端使用会话密钥解密“明文”,得到“明文”
客户端再次发起https请求,使用会话密钥加密请求“明文”
服务端使用会话密钥解密“明文”,得到“明文”

http中两种请求方法GET和POST的区别?
| GET | 请求指定页面信息,返回实体主体,从服务器上获取数据 |
| POST | 向服务传输数据 |
| HEAD | 类似于GET,只不过返回的响应中没有具体的内容,用于获取报头 |
| PUT | 从客户端向服务器传输数据取代指定的文档的内容 |
| DELETE | 请求服务器删除指定的页面 |
| CONNECT | 代理服务器 |
| OPTIONS | 运行客户端查看服务器的性能 |
| TRACK | 用于测试和诊断 |

浙公网安备 33010602011771号