【HTTP详解】

本文深入探讨了HTTP协议,包括简介、相关概念、报文结构(请求报文、响应报文)、状态码、请求/响应头、请求方法、HTTP特点、连接管理、重定向、Cookie机制、缓存控制以及HTTPS的安全特性。HTTP作为互联网基础技术,对于理解网络通信至关重要。
摘要由CSDN通过智能技术生成

本文为自己学习记录而用,内容基本来自下面的链接:https://learn.lianglianglee.com/%E4%B8%93%E6%A0%8F/%E9%80%8F%E8%A7%86HTTP%E5%8D%8F%E8%AE%AE/00%20%E5%BC%80%E7%AF%87%E8%AF%8D%EF%BD%9CTo%20Be%20a%20HTTP%20Hero.md

一、HTTP 简介

超文本 传输 协议:HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范”。

  1. HTTP 是一个用在计算机世界里的协议,它确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式。
  2. HTTP 专门用来在两点之间传输数据,不能用于广播、寻址或路由。
  3. HTTP 传输的是文字、图片、音频、视频等超文本数据。
  4. HTTP 是构建互联网的重要基础技术,它没有实体,依赖许多其他的技术来实现,但同时许多技术也都依赖于它。

二、HTTP 相关概念与协议

1. 互联网上绝大部分资源都使用 HTTP 协议传输;
2. 浏览器是 HTTP 协议里的请求方,即 User Agent;
3. 服务器是 HTTP 协议里的应答方,常用的有 Apache 和 Nginx;
4. CDN 位于浏览器和服务器之间,主要起到缓存加速的作用;
5. 爬虫是另一类 User Agent,是自动访问网络资源的程序。
TCP:可靠数据传输(字节流->数据完整)
IP:寻址和路由,两点间传送数据包;
DNS:域名(主机名)查找
URI/URL:统一资源标识符/定位符,唯一地标记互联网上资源/“网址”,它实际上是 URI 的一个子集,不过因为这两者几乎是相同的,所以通常不会做严格的区分
		(协议+主机名:端口+路径+?查询:http://nginx.org/en/download.html)
SSL/TLS:安全通信
HTTPS:HTTP + SSL/TLS + TCP/IP;
WebSocket:
HTTPDNS:


--代理:
HTTP 协议中请求方和应答方中间的一个环节,作为“中转站”,既可以转发客户端的请求,也可以转发服务器的应答。(例如CDN-透明、反向代理)
1.匿名代理:完全“隐匿”了被代理的机器,外界看到的只是代理服务器;
2.透明代理:顾名思义,它在传输过程中是“透明开放”的,外界既知道代理,也知道客户端;
3.正向代理:靠近客户端,代表客户端向服务器发送请求;
4.反向代理:靠近服务器端,代表服务器响应客户端的请求;

由于代理在传输过程中插入了一个“中间层”,所以可以在这个环节做很多有意思的事情,比如:
1.负载均衡:把访问请求均匀分散到多台机器,实现访问集群化;
2.内容缓存:暂存上下行的数据,减轻后端的压力;
3.安全防护:隐匿 IP, 使用 WAF 等工具抵御网络攻击,保护被代理的机器;
4.数据处理:提供压缩、加密等额外的功能。
关于 HTTP 的代理还有一个特殊的“代理协议”(proxy protocol),它由知名的代理软件 HAProxy 制订,但并不是 RFC 标准。
--TCP/IP 网络分层模型--
4.应用层:面向具体应用,Telnet、SSH、SMTP IMAP POP3、HTTP(消息/报文);
3.传输层:保证数据在IP地址标记的两点间“可靠”传输(段);
	TCP- 连接,字节流,顺序发,顺序收;“三次握手,四次挥手”;
	UDP-无连接,小数据包,顺序发,乱序收;
2.网络层:寻址和路由,使用IP地址标记各个局域网/广域网(包);
1.链路层:在以太网、WIFI等底层网络上发送原始数据包(帧),使用MAC地址标记网络上的设备;

--OSI 网络分层模型--
7.应用层:
6.表示层:把数据转换为合适、可理解的语法和语义;
5.会话层:维护网络中的连接状态,即保持会话和同步;
4.传输层:
3.网络层:
2.数据链路层:
1.物理层:网络的物理形式,例如电缆、光纤、网卡、集线器等等;

(OSI 的分层模型在四层以上分的太细,而 TCP/IP 实际应用时的会话管理、编码转换、压缩等和具体应用经常联系的很紧密,很难分开。例如,HTTP 协议就同时包含了连接管理和数据格式定义。)

(所谓的“四层负载均衡”就是指工作在传输层上,基于 TCP/IP 协议的特性,例如 IP 地址、端口号等实现对后端服务器的负载均衡。
所谓的“七层负载均衡”就是指工作在应用层上,看到的是 HTTP 协议,解析 HTTP 报文里的 URI、主机名、资源类型等数据,再用适当的策略转发给后端服务器。)
--域名相关--
域名是一个有层次的结构,是一串用“.”分隔的多个单词,最右边的被称为“顶级域名”,然后是“二级域名”,层级关系向左依次降低;最左边的是主机名,通常用来表明主机的用途。
1.根域名服务器:管理2;全球1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值