http请求过程

  • http协议即为超文本传输协议,http协议建立在tcp之上,tcp为传输层协议,而http则为应用层协议。
  • http协议是一种无状态,短连接模式,一次连接服务器只处理一次请求,请求数据后就会断开。
  • HTTP 0.9和1.0使用非持续连接:限制每次连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接。HTTP 1.1使用持续连接:不必为每个web对象创建一个新的连接,一个连接可以传送多个对象,采用这种方式可以节省传输时间(链接复用,后续会详细总结下)。
  • 从HTTP/1.1起,默认都开启了Keep-Alive,保持连接特性,简单地说,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接。
    Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间。
  • http请求分为请求行、消息报头、请求正文。
  • 在收到请求以后,服务器会返回一个http响应消息,分别为状态行、消息报头、响应正文。


    image.png
  • 浏览器分析超链指向页面的 URL
  • 浏览器向 DNS 请求解析 www.baidu 的 IP 地址
  • 域名系统 DNS 解析出baidu服务器的 IP 地址
  • 浏览器与服务器建立 TCP 连接
  • 浏览器遵循HTTP协议发出取文件命令:
    GET /chn/baidu/index.htm
  • 服务器给出响应,把文件 index.htm 发给浏览器
  • TCP 连接释放
  • 浏览器显示“baidu”文件 index.htm 中的所有文本。
  • 请求报文


    image.png
  • 响应报文
    image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • HTTP概述 超文本传输协议(HTTP,HyperText Transfer Protocol) 是互联网上应用最...
    曹渊说创业阅读 3,861评论 2 61
  • 一、 生成HTTP请求消息 1.1 各种各样的URL浏览器是一个具备多种客户端功能的综合性客户端软件,会根据UR...
    gioxx2阅读 6,331评论 1 8
  • 一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 8,420评论 6 152
  • Http协议详解 标签(空格分隔): Linux 声明:本片文章非原创,内容来源于博客园作者MIN飞翔的HTTP协...
    Sivin阅读 5,252评论 3 82
  • 深入浅出HTTP协议(WEB开发和面试必备) 1.基础概念篇 a.简介 HTTP是Hyper Text Trans...
    半世韶华忆阑珊阅读 1,236评论 0 7