http和https的区别
-
HTTP与HTTPS有什么区别?
答:
-
HTTP协议是超文本传输协议,它是基于TCP协议之上的应用层协议,是无状态短连接的。HTTPS协议是HTTP的安全升级版,传输数据基于SSL协议,可以进行服务器认证以及数据加密。
-
HTTP协议是明文传输,HTTPS是密文传输。
-
HTTP协议默认端口号是80,HTTPS协议默认端口号是443。
-
HTTPS协议需要申请CA证书
-
-
HTTP1.0和HTTP1.1的区别?
答:HTTP1.0是短连接,每次请求-响应后都会断开连接;HTTP1.1是长连接,可以进行多次请求-响应,服务器需要设置一个时间间隔,一段时间没有接收到HTTP请求消息的连接就会断开。
-
为什么说HTTP是无状态协议?
答:对于事务处理没有记忆功能;对同一个url请求没有上下文关系;每次请求都是独立的;服务器中没有保存客户端的状态。
-
常见的HTTP操作命令有哪些?
答:
- GET——读取页面
- POST——向服务器传输附加信息
- PUT——写入页面
- HEAD——读取页面头部
- DELETE——删除页面
- CONNECT——通过代理连接
- TRACE——将客户端发送的请求发回
- OPTIONS——请求可用选项的信息
-
常见的HTTP三位代码?
答:
- 200——成功:OK
- 202——成功:已接受
- 301——重定向:永久迁移
- 400——客户端错误:错误请求
- 404——客户端错误:未找到
- 502——服务器错误:错误网关
- 503——服务器错误:服务器不可用
-
HTTP协议格式?
答:
- 请求报文
- 请求行:请求方法 URL HTTP版本
- 请求头
- 空行
- 请求体
- 响应报文
- 状态行:HTTP版本 状态码 响应结果的原因
- 响应头
- 空行
- 响应体
- 请求报文
-
Request中包含了哪些内容?
答:
- 请求方式
- GET:向指定资源发出显示请求,使用GET方法读取数据
- POST:向指定资源提交数据,请求服务器进行处理
- HEAD:与GET方法一样,向服务器发出指定资源的请求,服务器将不传回资源的文本部分
- PUT:向指定资源位置上传最新内容
- OPTIONS:使服务器传回该资源所支持的所有HTTP请求方法。可以测试服务器功能是否正常运行
- DELETE:请求服务器删除Request-URL所标识的资源
- 请求URL
- URL(统一资源定位符)组成
- 协议(服务方式)
- 存有该资源的主机IP地址、端口号
- 主机资源的具体地址(目录或者文件夹)
- URL(统一资源定位符)组成
- 请求头
- Accept:指定客户端能够接收的内容类型
- Accept-Charset:浏览器可以接受的字符编码集
- Accept-Encoding:指定浏览器可以支持的web服务器返回内容压缩编码类型
- Accept-Language:浏览器可以接受的语言
- Connection:表示是否需要持久连接(keep-alive)
- User-Agent:包含发出请求的用户信息
- Host:指定请求的服务器的域名和端口号
- Cache-Control:指定请求和响应遵循的缓存机制
- Cookie
- 请求体
- 请求方式
-
Response中包含了哪些内容?
答:
- 响应状态:200代表成功,301代表跳转,404代表找不到页面,502代表服务器错误
- 响应头
- Content-Language:响应体的语言
- Content-Length:响应体的长度
- Content-Type:返回内容的类型
- Set-Cookie:设置http cookie
- Expires:响应过期的日期和时间
- Server:web服务器软件名称
- Warning:警告实体可能存在的问题
- 响应体(包含请求资源的内容,如网页HTML、图片和二进制数据)
-
GET方法和POST方法的区别?
答:
-
报文格式不同
不带参数时,HTTP请求首行不同;
带参数时,GET方法的参数放在URL中,POST方法参数请求体中; -
缓存(Cache)
GET方法提交能被缓存,而POST不能被缓存;GET提交的参数能被保留在浏览器历史,而POST不能
-
安全性
与POST相比,GET的安全性较差,因为所发送的数据是URL的一部分,在地址栏上就可见;相对而言,POST方式更加安全,因为参数不会被保存在浏览器历史或web服务器日志中,但真正的安全性来讲,GET和POST都是不安全的,因为HTTP在网络上传输是明文的,要想安全传输,就得加密,也就是用到HTTPS;
-
对数据长度的限制
GET提交时把数据放在URL中,而URL长度受到一定的限制;而POST把数据放在请求体中,对数据长度没有限制,所以传输较大数据用POST请求方法;【在HTTP协议的标准文档中,并没有限制URL的长度,对URL长度的限制是来源于浏览器和服务器,服务器对URL的限制考虑于处理较长的URL要消耗较多的资源,考虑到性能和安全】
-
对数据类型的限制
由于GET方式的数据放在URL中,所以只允许ASCII字符;而POST方式对数据没有限制,数据存放在请求体中,在POST提交中,请求头Content-Type指定请求体的类型
-
-
Cookie和Session有什么区别?
答:
- cookie的数据存储在浏览器,而session存放在服务器,如果并发量较大,使用session会造成服务器压力过大
- cookie只能保管ASCII字符串,而session中能够存取任意类型的数据
- session的运行依赖session id,而session id 存放在cookie中,如果浏览器禁用了cookie,session就会失效
- 单个cookie的存储容量以及cookie的存储个数有限制
- 安全性不同,cookie的安全性比seesion差
-
Cookie过期如何处理?
答:自定义一个异常类,如果有异常,Cookie抛出异常类再执行程序。
-
HTTPS如何实现数据安全传输?
答:HTTPS是在HTTP和TCP之间多加了一层加密层TLS/SSL。SSL负责对HTTP的数据进行加密,TLS是SSL的升级版。应用层将数据传输给TLS/SSL,将数据加密后,再给TCP进行传输。
-
HTTPS有什么优缺点?
答:
- 优点
- 使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户端和服务器
- HTTPS协议由HTTP+SSL协议构建的,可进行加密传输、身份认证,比HTTP协议安全,可防止数据在传输的过程中被窃取、改变,从而确保数据的完整性
- HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但大幅增加了中间人攻击的成本
- 缺点
- HTTPS协议的加密范围有限,在黑客攻击、拒绝服务攻击及服务器劫持等方面几乎起不到什么作用
- HTTPS协议会影响缓存,增加数据开销和功耗
- SSL证书需要支付费用,功能越强大的证书费用越高
- HTTPS连接服务器端资源占用多,握手阶段比较费时,对网站的响应速度有影响
- HTTPS连接缓存不如HTTP高效
- 优点
-
对称加密和非对称加密?
答:
- 对称密钥加密,又称私钥加密,信息的发送方和接收方用同一个密钥去加密和解密数据。它的最大优势是加/解密速度快,适合于对大数据量进行加密,但密钥管理困难。
- 非对称密钥加密,又称公钥加密,需要使用一对密钥来分别完成加密和解密操作,一个公开发布,即公开密钥,另一个由用户自己秘密保存,即私用密钥。信息发送者用公开密钥去加密,而信息接收者则用私用密钥去解密。

浙公网安备 33010602011771号