HTTP工作原理

来源:互联网 发布:淘宝网灯具城 编辑:程序博客网 时间:2024/05/16 18:34

HTTP协议采用的是 请求/响应 模型,客户端向服务器发送一个请求报文,服务器以一个状态码作为响应。

HTTP请求/响应的步骤:

1. 客户端连接到web服务器(HTTP客户端与web服务器建立一个TCP连接)
2. 客户端向服务器发送HTTP请求(通过已建立的TCP连接,客户端向服务器发送一个请求报文)
3. 服务器接受HTTP请求并返回HTTP响应(服务器解析请求,定位请求资源,然后服务器将资源副本写到TCP连接,由客户端读取)
4. 释放TCP连接(若connection模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接。若connection模式为keep-alive,则连接会保持一段时间,该事件内可以继续接收请求)
5. 客户端浏览器解析HTML内容(客户端将服务器响应的html文本解析并显示)

例如:在浏览器地址栏键入URL,按下回车之后会经历以下流程:
  1、浏览器向DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址;
  2、解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立 TCP 连接;
  3、浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为 TCP 三次握手的第三个报文的数据发送给服务器;
  4、服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器;
  5、释放 TCP 连接;
  6、浏览器将该 html 文本并显示内容;

Http request的几种类型。
GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT

Http1.1和Http1.0的区别
1,HTTP/1.0协议使用非持久连接,即在非持久连接下,一个tcp连接只传输一个Web对象;
2,HTTP/1.1默认使用持久连接(然而,HTTP/1.1协议的客户机和服务器可以配置成使用非持久连接)。

长连接的优缺点:
优点:可以省去较多的TCP建立和关闭的操作,减少浪费,节约时间。
缺点:可能会有一些恶意链接。(限制每个客户端的最大长连接数)

原创粉丝点击