| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> HTTP和HTTPS -> 正文阅读 |
|
[网络协议]HTTP和HTTPS |
HTTP一、HTTP概述超文本传输协议,HTTP是一种按照URL指示,将超文本文档从一台主机(web服务器)传输到另一台主机(浏览器)的应用层协议,以实现超链接的功能 二、HTTP的工作原理在用户点击URL为http://www.qq.com/index.html的链接后,浏览器(客户端)和web服务器执行以下动作: ①浏览器分析超链接中的URL ②浏览器向DNS服务器请求解析www.qq.com的ip地址 ③DNS服务器将解析出的ip地址返回浏览器 ④浏览器根据得到的ip地址找到对应的web服务器,并建立TCP三次握手 ⑤建立连接后,浏览器向web服务器发送http请求(GET /index.html) ⑥服务器给出响应,将文档index.html发送给浏览器,用html代码中的资源渲染页面 ⑦TCP四次挥手释放连接 三、DNS解析过程假设你要查询www.baidu.com的ip地址 1、首先会查找浏览器的缓存,看看是否能找到www.baidu.com对应的ip地址,找到就直接返回;否则进行下一步 2、客户端将请求递归发送给本地DNS服务器,如果查找到也直接返回,否则继续进行下一步 3、本地DNS服务器进行迭代查询,首先向根域名服务器发送请求,根域名服务器返回负责.com的顶级域名服务器的ip地址的列表 4、本地DNS服务器再向其中一个负责.com的顶级域名服务器发送一个请求,返回负责.baidu的权威域名服务器的ip地址列表 5、本地域名服务器再向其中一个权威域名服务器(次顶级域名服务器)发送一个请求,返回www.baidu.com所对应的ip地址 四、HTTP请求方法①请求报文的方法
②GET请求方式与POST的区别
五、HTTP响应状态码
六、HTTP头部信息1、User-Agent 浏览器标识(操作系统标识、浏览器语言、版本信息) 2、Host 服务器的DNS名称,包含URL 3、Server 响应头包含处理请求的原始服务器的软件信息 4、Referer 浏览器向web服务器表明自己是从哪个网页/URL/点击获得当前请求ip的网址 5、Location web服务器告知浏览器,试图访问的对象已经被移到别的位置了,到该头部指定的位置去取 七、HTTP的版本及连接超时问题1、HTTP/1.0 默认是短连接,每次请求都要建立一个TCP连接,可以强制开启长连接 2、HTTP/1.1 默认长连接,即TCP连接默认不关闭,可以被多个请求复用。在同一个TCP连接里,客户端可以同时发送多个请求 3、HTTP/2.0 二进制协议。完全多路复用,在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,而且不用按照顺序一一对应 4、连接超时问题 ①在交互过程中,HTTP中的响应体的Connection字段的keep-alive起着至关重要的作用 ②对于HTTP的短连接和长连接实际上是TCP的长短连接 ③keep-alive字段的重要参数 ⑴tcp_keep_time:keepalive的空闲时长,默认两个小时 ⑵tcp_keep_probes:在tcp_keep_time之后,没有接收到对方的确认,继续发送保活探测包的次数,默认为10次 ⑶tcp_keep_intvl:keepalive探测包的发送间隔,默认为75秒 八、Session和Cookie1、Session是服务器和客户端的一次会话过程 2、Cookie是保存客户端的一小块文本串的数据 3、Session和Cookie的产生过程 ? 用户第一次请求服务器时,服务器根据用户提交的信息,创建对应的Session ID,并在请求返回时将Session ID返回给浏览器。浏览器在收到Session ID后,会将此信息存入Cookie中,同时Cookie记录此Session ID是属于哪个域名。当用户第二次访问服务器时,请求会自动判断此域名下是否存在Cookie信息,如果存在,则自动将Cookie信息也发送给服务器,服务器会从Cookie中获取Session ID,再根据Session ID查找对应的Session信息。 4、Session和Cookie的区别
HTTPS一、HTTPS概述1、安全超文本传输协议,HTTPS是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性,即HTTPS=HTTP+SSL/TLS 2、SSL,安全套接字层协议,位于传输层和应用层之间的一种协议层,是网络通信提供安全及数据完整性的一种安全协议。主要通过三个协议实现:SSL握手协议、SSL修改密文协议、SSL报警协议 3、TLS,安全传输层协议,它是SSL3.0的后续版本 二、HTTPS的加密过程①客户端向服务器端发起HTTPS请求,连接到服务器端的443端口 ②服务器端保留自己的私钥、公钥放在数字证书里 ③服务器端返回SSL证书信息(证书内容有公钥、证书颁发机构、失效日期)和服务器端随机数 ④客户端验证证书的合法性,如果证书合法,则生成一个随机的会话主密钥(对称),并用服务器的公钥加密 ⑤客户端将加密后的密钥发送到服务器 ⑥服务器端收到客户端发送的密钥后,用自己的私钥进行解密,得到客户端的会话主密钥 ⑦服务器端将数据用会话主密钥加密后传输到客户端 ⑧客户端用自己的密钥进行对称解密,得到服务器返回的数据 三、数字签名和数字证书1、数字证书是指在互联网通讯中标志通讯各方身份信息的一个数字认证,它的出现是为了防止公钥被篡改 2、公钥和个人等信息,经过Hash摘要算法加密,形成消息摘要;将消息摘要拿到拥有公信力的认证中心CA,用它的私钥对消息摘要加密,形成数字签名。公钥和个人信息、证书颁发机构和失效日期、数字签名共同构成数字证书 四、对称加密和非对称加密1、对称加密是指加密和解密使用同一密钥。常见的对称加密算法有DES、AES 2、非对称加密是指加密和解密使用不同的密钥(即公钥和私钥)。公钥和私钥是成对存在的,如果用公钥对数据进行加密,只有对应的私钥才能解开。常见的非对称加密算法有RSA 3、对称加密和非对称加密的区别
五、HTTP和HTTPS的比较
|
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/28 5:15:15- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |