请选择 进入手机版 | 继续访问电脑版

HTTP面试题

[复制链接]
奋斗在韩 发表于 2021-1-3 12:19:01 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
参考文章:

一文带你相识HTTPS
看懂HTTPS
URI、URL和URN的区别
Spirng Boot之HTTPS设置
你启用HTTPS,让你的网站也能通过https访问
http原理


Http与Https的区别:


  • HTTP 的URL 以http:// 开头,而HTTPS 的URL 以https:// 开头
  • HTTP 无法加密,是不安全的,而 HTTPS 对传输的数据举行加密,是安全的
  • HTTP 标准端口是80 ,而 HTTPS 的标准端口是443
  • 在OSI 网络模子中,HTTP工作于应用层,而HTTPS 的安全传输机制工作在传输层
  • HTTP无需证书,而HTTPS 需要CA机构wosign的颁发的SSL证书
URI、URL和URN的区别


URI(Uniform Resource Identifier ):统一资源标识符,就是在某一规则下能把一个资源独一无二地标识出来。
URL(Uniform Resource Locator):统一资源定位符
URN(Uniform Resource Name):统一资源名称。
人有身份证和住址。住址可以明确为 URL,身份证明确了URN,他们都市URI。
https提交数据的时候为什么照旧明文的?

提交的时候还没有加密,加密是在传输层加密的,你想看加密后的,应该用Wireshark等抓包。
Spirng Boot之HTTPS设置


  • 生成大概获取ssl证书
  • 在Spring Boot里设置开启HTTPS
  • HTTP自动重定向到HTTPS
1. 生成大概获取ssl证书

获取SSL证书主要有两种,
2.在Spring Boot里设置开记HTTPS

  1. # 告诉Spring Security 请求也需要透过HTTPS, 签名文件;security.require-ssl=true# 指定密钥堆栈范例server.ssl.key-store-type:PKCS12# 指定密钥堆栈路径server.ssl.key-store=classpath:keystore.p12# 指定密钥签名暗码server.ssl.key-store-password=password# 指定密钥别名server.ssl.key-alias=tomcat
复制代码
上面的密钥信息在生成的时候已经指定了的。在这里复制过来就行。
3. HTTP自动重定向到HTTPS

设置很简朴,在入口类中添加相应的重定向Bean就行了,如下:
  1. import org.apache.catalina.Context;import org.apache.catalina.connector.Connector;import org.apache.tomcat.util.descriptor.web.SecurityCollection;import org.apache.tomcat.util.descriptor.web.SecurityConstraint;import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class ConnectorConfig {        @Bean        public EmbeddedServletContainerFactory servletContainer() {                TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() {                        @Override                        protected void postProcessContext(Context context) {                                SecurityConstraint securityConstraint = new SecurityConstraint();                                securityConstraint.setUserConstraint("CONFIDENTIAL");                                SecurityCollection collection = new SecurityCollection();                                collection.addPattern("/*");                                securityConstraint.addCollection(collection);                                context.addConstraint(securityConstraint);                        }                };                tomcat.addAdditionalTomcatConnectors(getHttpConnector());                return tomcat;        }        private Connector getHttpConnector() {                Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");                connector.setScheme("http");                connector.setPort(8080);                connector.setSecure(false);                connector.setRedirectPort(8443);                return connector;        }}
复制代码
这个时候当我们访问http://localhost:8080/SpringBootBase的时候系统会自动重定向到https://localhost:8443/SpringBootBase这个所在上。这里的Connector实际就是server.xml中设置的Tomcat的Connector节点。

来源:https://blog.csdn.net/fangye1/article/details/111995837
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )