第四课笔记:HTTP协议基础

发布于 2018-07-30  2.64k 次阅读


本文于 2023年8月28日 11:36 更新,注意查看最新内容

HTTP

超文本传输协议

HTTP简介

什么是超文本(HyperText)?
包含有超链接(Link)和各种多媒体元素标记(Markup)的文本。这些超文本文件彼此链接,形成网状(Web),因此又被称为网页(Web Page)。这些链接使用URL表示,最常见的超文本格式是超文本标记语言HTML。

什么是URL?
URL即统一资源定位符(Uniform Resource Locator),用来唯一的标识万维网中的某一个文档。URL由协议、主机和端口(默认为80)以及文件名三部分构成。如:

http://www.anquanlong.com:80/news/index.htmt

协议://主机:端口(80)/文件名及其路径

https默认端口为:443  http默认端口为:80

什么是超文本传输协议HTTP?
是一种按照URL指示,将超文本文档从一台主机(Web服务器)传输到另一台主机(浏览器)的应用层协议,以实现超链接的功能。

HTTP工作原理

请求/响应交互模型
在用户点击URL为http://www.anquanlong.com/index.html的链接后,浏览器和Web服务器执行以下动作:

①浏览器分析超链接中的URL

②浏览器向DNS请求解析www.anquanlong.com的IP地址

③DNS将解析出的IP地址123.57.246.69返回浏览器

浏览器与服务器建立TCP连接(80端口)

浏览器请求文档:GET/index.html

服务器给出响应,将文档index.html发送给浏览器

释放TCP连接

⑧浏览器显示index.html中的内容

HTTP的连接方式和无状态性

  • 非持久性连接

即浏览器每请求一个Web文档,就创建一个新的连接,当文档传输完毕后,连接就立刻被释放。

>HTTP1.0、HTTP9.0采用此连接方式。

>对于请求的Web页中包含多个其他文档对象(如图像、声音、视频等)的链接的情况,由于请求每个链接对应的文档都要创建新连接,效率低下。

  • 持久性连接

即在一个连接中,可以进行多次文档的请求和响应。服务器在发送完响应后,并不立即释放连接,浏览器可以使用该连接继续请求其他文档。连接保持的时间可以由双方进行协商。

  • 无状态性

是指同一个客户端(浏览器)第二次访问同一个Web服务器上的页面时,服务器无法知道这个客户曾经访问过。HTTP的无状态性简化了服务器的设计,使其更容易支持大量并发的HTTP请求。

HTTP报文结构

未完待续


这短短的一生,我们最终都会失去。