##深入浅出-HTTP协议
深入浅出-HTTP协议入水_HTTP

 


HTTP 请求流程

  • B/S架构 客户端–>web服务器—>交互----->web请求
  • 应用层协议—HTTP

HTTP协议解析

HyperText Transfer Protocol 超文本传输协议
(详细规定浏览器与万维网 通信规则) 万维网交换信息基础
HTML(超文本标记语言)文档从web服务器–>客户端–>浏览器

  • 发起Http请求
    浏览器–>url(统一资源定位符)互联网标准网页地址 ---->返回结果

  • 协议://服务器ip:[端口]/路径/[?查询]

  • Linux —>Curl命令 / windows —>curl.exe 请求HTTP

  • 命令 curl xxx.com - I HTTP响应头


HTTP 无状态协议详解

web浏览器-web服务器之间不需要建立持久连接
请求 ----->Response(响应)----->关闭
(在服务器端不保留连接有关信息)

  • HTTP请求只能由客户端发起
  • 服务端不能主动向客户端发送数据
  • 遵循 客户端请求(Request)/服务端处理、应答(Response)模型

HTTP请求与响应

HTTP请求 三部分

深入浅出-HTTP协议入水_HTTP_02

  • HTTP 请求行 第一行(请求方法)
    三部分
    1. POST GET HEAD PUT DELETE TRACE CONNECT OPTIONS
    2. 一个斜杠(/login.aspx)说明请求是 域名根目录哪个文件发出的
    3. 使用 HTTP1.1 或 1.0

深入浅出-HTTP协议入水_计算机基础_03

  • 第二行–>空白行 请求头 (消息报文/头)
  1. Host 主机地址
  2. User-Agent 浏览器标识(客户端自行设定)

  • (空白行 代表上一个 结束)

  • 请求正文 (可选)常出现在POST请求

# HTTP响应

三部分
深入浅出-HTTP协议入水_HTTP_04


  • 相应行
  1. HTTP版本
  2. 状态码
  3. 消息 OK
    深入浅出-HTTP协议入水_HTTP_05

  • 响应头(消息报头) 服务器---->客户端
    深入浅出-HTTP协议入水_计算机基础_06

  • 空白行 表示响应头结束

  • 相应正文(消息主题) 服务器发给 客户端的 HTML数据
    深入浅出-HTTP协议入水_计算机基础_07