HTTP(HyperText Transfer Protocol: 超文本传输协议)
超文本---->超级文本---->带超链接的文本
http(s)😕/<主机>:<端口>/<路径>
-
主机可以是IP地址也可以是域名
-
端口常用80 443
-
路径指向固定的内容
HTTP协议是可靠的数据传输协议(TCP);它可以传输:文本、图片、音频、视频。
HTTP协议是基于CS模式的,如图
2. web服务器工作流程
(1)接受客户端连接 首先要告诉服务的IP和端口,可以通过发布域名,让大家访问web服务器,当客户端知道IP和端口后,就可以连接到服务器。
(2)接收请求报文 客户端在需要连接的时候会构造一个HTTP报文,发送到web服务器,因此web服务器要接收的报文,会进入下一步
(3)处理请求 通过请求的内容,web服务器得知要获取的内容
(4)访问web资源 对本机资源获取
(5)构造应答
(6)发送应答
3. HTTP请求方法
GET、 POST、 DELETE、 UPDATE、 PUT、 OPTIONS、 PATCH 、HEAD 、TRACE、
4. 指定资源的方法
(1) 在地址中指定
(2)在请求数据中指定
5. 状态码
五、HTTP的工作结构
===============
1. web缓存
思路:把一些数据缓存起来,提高访问效率
(热门内容+冷门内容)28定理
存储器层次结构:从上到下访问速度变慢,容量变大;(将热门内容放到缓存或主存中)
2. web代理
proxy: 位于客户端和服务器之间;分为两种:正向代理,反向代理
常用:Nginx, HAProxy
3. CDN
CDN(Content Delivery Network:内容分发网络)多媒体加速
4. 爬虫
本质:程序 在互联网里采集信息
弊端: 增加网络拥塞; 损耗服务器资源
六、HTTPS协议详解
===============
HTTP是明文传输的,不安全(账号密码、个人信息、账户金额、交易信息、敏感信息…)
HTTPS(Secure)是安全的HTTP协议,默认端口:443
http(s)😕/<主机>:<端口>/<路径>
1. 加密模型
对称加密 VS 非对称对称
A、B是拥有一定数学关系的一组秘钥
私钥自己使用,不对外公开
公钥给大家使用,对外公开
例子:若X有一组密钥,把私钥自己保存,公钥发布出去,若Y想要发送消息,使用公钥加密之后把密文发送,X接受到使用私钥解密之后就可以查看。
2. 数字证书
数字证书是可信任组织颁发给特定对象的认证(类似:身份证)
3. SSL
SSL(Secure Sockets Layer: 安全套接层)
数据安全和数据完整; 对传输层数据进行加密后传输
4. HTTPS过程
其中SSL安全参数握手步骤:
《大厂前端面试题解析+Web核心总结学习笔记+企业项目实战源码+最新高清讲解视频》无偿开源 徽信搜索公众号【编程进阶路】
补充(1)从客户端开始 生成一个随机数1,并告诉服务器
(2)服务器回应,并生成随机数2,至此可以确认加密算法,且同时保存存1,2
(3)客户端确认,加密后的数据发送服务器,此时信息对称,都保存了1,2,3
(4)分别生成对称密钥,由于没有传输过程,因此减少了泄漏风险
面试题
=======
1.应用层相对于其他层,是面向用户的一层,应用层协议主要解决了什么问题?应用层是七层OSI模型的第七层。应用层直接和应用程序接口并提供常见的网络应用服务。
2.请列举5个以上的应用层协议。HTTP、FTP、SMTP、DNS、POP3、Telnet、TFTP、DHCP等。