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报文结构
未完待续