这是我参与「第五届青训营 」伴学笔记创作活动的第 6 天
在学习完编程语言的语法知识之后,就需要学习如何渲染网页,不然只能停留在编写静态页面的水平,了解如何渲染网页,则先要搞懂网络协议,如HTTP协议,今天学习了杨超男老师带来的HTTP课程,有了许多收获。
HTTP概述
根据老师推荐的文档,HTTP 是一种能够获取如 HTML 这样的网络资源的 protocol(通讯协议)。它是在 Web 上进行数据交换的基础,是一种CS协议,我们可以理解为请求通常是由像浏览器这样的接受方发起的,传送到服务器方,又称为CS模式。
HTTP历程
HTTP 被设计于 20 世纪 90 年代初期,是一种可扩展的协议。它是应用层的协议,通过 TCP,或者是 TLS——加密的 TCP 连接来发送,理论上任何可靠的传输协议都可以使用。因为其良好的扩展性,时至今日,它不仅被用来传输超文本文档,还用来传输图片、视频或者向服务器发送如 HTML 表单这样的信息。HTTP 还可以根据网页需求,仅获取部分 Web 文档内容更新网页。
HTTP协议与TCP协议
根据我所学过的计算机网络知识,TCP对应于传输层,而HTTP对应于应用层,所以HTTP协议是建立在TCP协议之上的,它们的关系我们应该分清。
网页在加载时发生了什么
这是老师文档里贴出的图解,从图中可以很清晰地了解浏览器加载网页时发生了什么。
HTTP协议的一些状态码
200 OK-客户端请求成功
301-资源(网页等)被永久转移到其它URL
302-临时跳转
401 Unauthorized-请求未经授权
404-请求资源不存在,可能是输入了错误的URL
500-服务器内部发生了不可预期的错误
504 Gateway Timeout-网关或者代理的服务器无法在规定 的时间内获得想要的响应。