HTTP第一阶段笔记

本文详细介绍了HTTP协议,包括其作为Web基础的角色,HTTP请求与响应消息的结构,客户端、Web服务器和代理的角色。重点讨论了HTTP消息的结构,如起始行、请求方法、头部和主体,并深入讲解了HTTP的缓存机制,包括缓存的优势、应用、私有缓存、共享缓存以及缓存控制头。此外,文章还涵盖了Cookie的概念、作用、有效期和应用场景,以及跨域资源共享(CORS)的工作原理和请求类型。
摘要由CSDN通过智能技术生成

HTTP是什么

HTTP(超文本传输协议),是互联网上应用嘴广泛的一中网络协议

HTTP协议是在Web上进行数据交换的基础,是一种“客户端–服务器端”的协议。也就是说,请求通常是由像浏览器这样的接收方发起的。一个完整的Web文档通常是由不同的子文档拼接而成的,像是文本,布局描述,图片,视频,脚本等等。

设计HTTP最初的目的是为了提供一种发布和接受HTML页面的方法。

HTTP请求与响应消息

客户端和服务端通过交换各自的消息(与数据流正好相反)进行交互。

  • 由像浏览器这样的客户端发出的消息叫请求(requests)
  • 被服务器回应的消息叫做响应(responses)

在这里插入图片描述

基于HTTP的组件概述

请求通过一个实体被发出,实体也就是用户代理(浏览器)。每一个发送到服务器的请求,都会被服务器处理并返回一个消息,也就是响应。

在这个请求与回应之间,还有许许多多的被称为proxies的实体,他们的作用与表现各不相同。

在这里插入图片描述

客户端

user-agent就是任何能够为用户发起行为的工具。这个角色通常是由浏览器来扮演。一些例外情况,比如是工程师使用的程序,以及Web开发人员调试应用程序。

浏览器总是作为发起一个请求的实体。浏览器首先发送一个请求来获取页面的HTML文档,在解析文档中的资源信息发送其他请求,获取可执行脚本或CSS样式来进行页面布局渲染,以及一些其他页面资源(例如图片,视频等等)。然后,浏览器将这些资源整合到一起,展现出一个完整的文档,也就是网页。

在这里插入图片描述

Web服务器

在HTTP协议通信过程的另一端,是由Web服务器来服务并提供客户端所请求的文档。服务器只是虚拟意义上代表一个机器:它可以是共享负载(负载均衡)的一组服务器组成的计算机集群,也可以是一种复杂的软件,通过向其他计算器(如缓存,数据库服务器,电子商务服务器等)发起请求来获取部分或全部资源。

Web服务器不一定是一台机器,但一个机器上可以装载的众多Web服务。

代理(proxies)

在浏览器和服务器端之间,有许多计算机和其他设备转发了HTTP消息。由于Web栈层次结构的原因,它们大多都出现在传输层,网络层和物理层上,对于HTTP应用层而言都是透明的,虽然它们可能会对应用层性能有重要影响。还有一部分是表现在应用层上的,被称为代理(proxies)。代理既可以表现的透明,又可以不透明。

代理主要有如下几种作用:

  • 缓存(可以是公开的也可以是私有的,像浏览器的缓存)
  • 过滤(例如反病毒扫描)
  • 负载均衡(让多个服务器服务不同的请求)
  • 认证(对不同资源进行权限管理)
  • 日志记录(允许存储历史信息)

HTTP消息是什么

HTTP报文,又称为HTTP消息,是服务器和客户端之间交换数据的方式。请求和响应

HTTP消息由采用ASCII编码的多行文本构成。在HTTP/1.1及早期版本中,这些消息通过连接公开地发送。

在HTTP/2中,为了优化和性能方面的改进,曾经可人工阅读的消息被分到多个HTTP帧中。

HTTP请求报文

请求报文由一下元素组成:

  • Method方法(一些像post,get这样的方法)
  • 要获取的资源的路径
  • HTTP版本协议号
  • 为服务端表达其他信息的可选头部headers

在这里插入图片描述

HTTP响应消息

响应报文由一下元素组成:

  • HTTP协议版本号
  • 一个状态码
  • 一个状态信息
  • HTTPheaders
  • 包含获取资源的body
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值