Http和Https相关问题
Http和Https
Http(默认端口号80)
超文本传输协议(Http,HyperText Transfer Protocol)是互联网上使用最为广泛的一种网络协议(应用层)。设计Http最初的目的是为了提供一种发布和接收HTML页面的方法。它可以使浏览器更加高效。Http协议是以明文方式发送信息的,如果黑客截取了Web浏览器和服务器之间的传输报文,就可以直接获得其中的信息。
Http请求报文结构
- 请求行:请求方法、URL、协议版本号、回车符
- 请求头部:设置Http请求的各种参数
- 空行:必须的空行,表示请求头部的结束
- 请求正文:携带上传的数据,主要是POST请求
Http响应报文结构
- 状态行:协议版本、状态码、状态码描述
- 响应头部:说明客户端使用的一些附加信息,如date、content-type
- 空行
- 响应正文:返回的数据
请求/响应的步骤
- 客户端连接到Web服务器
- 发送Http请求
- 服务器接受请求并返回Http响应
- 释放TCP连接
- 客户端浏览器解析HTML内容
URL到页面的过程
- DNS(Domain Name System,域名系统)解析
- 建立TCP连接
- 发送Http请求
- 服务器处理请求并返回Http报文
- 浏览器解析渲染页面
- 连接结束
详细过程可参考 https://www.cnblogs.com/xianyulaodi/p/6547807.html
GET和POST的区别
- Http报文层面:GET将请求信息放在URL中,POST放在报文体中
- 数据库层面:GET请求符合幂等性(多次操作和一次操作的结果一致)和安全性(不会对数据库进行修改),POST不符合
- 其它:GET可以被缓存、被存储,POST不行
Https(默认端口号443)
是以安全为目标的HTTP通道,也就是安全版的HTTP,通过在HTTP下加入SSL层来提供安全传输支持。Https的主要作用包括:建立信息安全的通道,保证数据的安全传输以及确认网站的真实性。
什么是SSL?
SSL(Security Sockets Layer, 安全套接层),为网络通信提供安全以及数据完整性的一种安全协议,SSL位于TCP与各应用层之间,是操作系统对外提供的API,SSL3.0版本以后被称为TSL。主要通过身份验证和数据加密保证网络通信的安全和数据的完整性。
Https数据传输流程
- 浏览器将支持的加密算法信息发送给服务器
- 服务器选择一套浏览器支持的加密算法,以证书的形式回发浏览器
- 浏览器验证证书合法性,并结合证书公钥加密信息发送给服务器
- 服务器使用私钥解密信息,验证哈希,加密响应消息回发浏览器
- 浏览器解密响应消息,并对消息进行验真,之后进行加密交互数据
Http和Https的区别
HTTP | HTTPS |
---|---|
HTTP | HTTP |
TCP | SSL or TSL |
IP | TCP |
。。。 | IP |
- Https需要到CA申请证书,Http不需要
- Https密文传输,Http明文传输
- 连接方式不同,使用的端口号不同
- Https更安全
Http和Https相关问题的更多相关文章
- Android Https相关完全解析 当OkHttp遇到Https
一.概述 其实这篇文章理论上不限于okhttp去访问自签名的网站,不过接上篇博文了,就叫这个了.首先要了解的事,okhttp默认情况下是支持https协议的网站的,比如https://www.baid ...
- Android Https相关完全解析
转载: 转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/48129405: 本文出自:[张鸿洋的博客] 一.概述 其实这篇文章理论 ...
- [skill][https][ssl/tls] HTTPS相关知识汇总
结论前置: A 身份验证 证书, 服务器证书 B 密钥协商 RSA DHE / ECDHE PSK C 加密通信 加密通信采用对称加密,使用B阶段协商出来的密钥. B 阶段如果使用 RSA 协 ...
- 爬虫(2)- HTTP和HTTPS 相关知识
HTTP和HTTPS HTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法. HTTPS(Hypertext Transfer ...
- 【第六篇】Volley之https相关
Volley之https信任所有证书实现: public class HttpsTrustManager implements X509TrustManager { private static Tr ...
- HTTP与HTTPS相关知识
URL的开头一般会有http或https,这是访问资源需要的协议类型.有时还会看到ftp.sftp.smb开头的URL,这些都是协议类型.一般使用得最多的还是http和https. HTTP HTTP ...
- HTTPS相关知识以及在golang中的应用
最近简单学习了HTTPS,并在golang中实践了一下,现在把学到的知识记录下来,方便以后查看,如果有幸能帮到有需要的人就更好了,如果有错误欢迎留言指出. 一些简单的概念,可以自行百度百科 HTTPS ...
- Fiddler抓取https相关设置
转自:https://www.cnblogs.com/joshua317/p/8670923.html 很多使用fiddler抓包,对于http来说不需太多纠结,随便设置下就能用,但是抓取https就 ...
- HTTPS 相关问题
什么是 HTTPS? HTTPS,是指超文本传输安全协议(Hypertext Transfer Protocol Secure),是一种在 HTTP 协议基础上进行传输加密的安全协议,能够有效保障数据 ...
随机推荐
- vi编辑器基础指令
vi -- 终端中的编辑器 visual interface ssh-- secure shell vim vi improved-----------------------------打开和新建文 ...
- Linux--shell练习题
1.判断/etc/inittab文件是否大于100行,如果大于,则显示”/etc/inittab is a big file.”否者显示”/etc/inittab is a small file.” ...
- 【模板】zkw线段树
题意简述 已知一个数列,你需要进行下面两种操作: 1.将某一个数加上x 2.求出某区间每一个数的和 代码 #include <cstdio> using namespace std; in ...
- 学习Vuex 个人的一些拙见。
首先说下什么是vuex?这个是对vue的状态的管理,这样说可能有点大,其实就是vue 里面 data 的管理,或者说是多个vue 组件共有的data 的一种管理, 在任何一个组件里面,都可以修改,访 ...
- Javascript十大排序算法的实现方法
上一篇中,实现了Javascript中的冒泡排序方法,下面把剩余的九种排序算法实现 选择排序: var array = []; for(var i=0;i<100000;i++){ var x ...
- java并发系列 - 第28天:实战篇,微服务日志的伤痛,一并帮你解决掉
这是java高并发系列第28篇文章. 环境:jdk1.8. 本文内容 日志有什么用? 日志存在的痛点? 构建日志系统 日志有什么用? 系统出现故障的时候,可以通过日志信息快速定位问题,修复bug,恢复 ...
- Rikka with Game[技巧]----2019 杭电多校第九场:1005
Rikka with Game Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Othe ...
- 电话面试总结(问的很细).md
String 和其他基本类型有什么区别 Tip 基本类型有几种 为什么要给String创建一个常量池而不给其他类创建常量池 常量池的定义是什么 垃圾回收机制是如何运行的 对新生代和老年代不同的处理机制 ...
- CRNN+CTC (基于CTPN 的end-to-end OCR)
1. https://zhuanlan.zhihu.com/p/43534801 (详细原理) 2. https://blog.csdn.net/forest_world/article/detai ...
- Nginx总结(三)基于端口的虚拟主机配置
前面讲了如何配置基于IP的虚拟主机,大家可以去这里看看nginx系列文章:https://www.cnblogs.com/zhangweizhong/category/1529997.html 今天就 ...