http学习笔记|青训营笔记

102 阅读2分钟

一、HTTP是什么

HTTP全称为Hyper Text Transfer Protocol,被译为超文本传输协议,是互联网上应用最为广泛的—种网络协议。

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

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

二、HTTP协议历史与标准

HTTP/O.9: 1991年制定,有严重设计缺陷,只支持GET方法,不支持MIIME类型,很快被\nHTTP/1.0取代。

HTTP/1.0: 1996年制定,支持多种请求方法,支持多媒仲对象,得到广泛应用。

HTTP/10+:支持持久连接、虚拟主机、代理连接等新特性,成为非官方的事实标准。

HTTP/11: 1999年制定,校正HTTP中的设计缺陷,性能优化,删除一些不好的特性。

HTTP-NG(或HTTP/20):关注HTTP协议的性能优化以及更强大的服务逻辑远程执行框架,研究工作仍在进行中。

三、HTTP请求与响应消息

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

由像浏览器这样的客户端发出的消息叫做请求( requests )

被服务端回应的消息叫做响应(responses )

四、概述

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

浏览器总是作为发起一个请求的实体(近几年已经出现一些机制能够模拟由服务器发起的请求消息,例如Nodejs )。

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