http协议

  • Post author:
  • Post category:其他




HTTP 协议

  1. 超文本传输协议

  2. 客户端 – 服务器端 协议

  3. 浏览器这样的客户端发出的消息叫请求(requests)

  4. 被服务端回应的消息叫响应(responses)



基于HTTP 的组件

  1. 浏览器给服务器发送一个请求,都会被服务器处理并返回一个消息,响应

客户端 —- 代理 —- 代理 —— 服务端

客户端代理(浏览器 ) 服务端也有代理

user-agent 任何能够为用户发起行为的工具(一般是浏览器/node.js 服务器)



web 服务器:

用来接收客户的请求

一个机器可以装载多个wed 服务



代理

客户端代理:浏览器

作用: 缓存 过滤 负载均衡(让多个服务器服务不同的请求) 认证 日志记录



HTTP 的基本特性

  1. 简单
  2. 可扩展
  3. 无状态(没有关联,上一次的请求/响应下一次不知道),有会话(客户端和服务器端交互)


HTTP 能控制什么
  1. 缓存
  2. 开放同源限制(离开a访问b如果没有同源 b可以访问a)
  3. 认证(认证身份)
  4. 代理和隧道 (对外隐藏真实Ip)
  5. 会话


HTTP 流
  1. 打开一给TCP连接: TCP 连接被用来发送一条或多条请求

  2. 发送一个HTTP报文:HTTP 报文是语义可读

    GET/HTTP/1.1
    Host:developer.,ozilla.org
    ACCept-language:fr
    
  3. 读取服务端返回的报文信息

HTTP/1.1 200 ok
last-Modified: Tue,01 Dec 2009 20:18:22 GMT
Content_length: 29769
content-TYpe:text/html 
  1. 关闭连接或者为后续请求重用连接



MIME 类型

  1. 一种标准化的方式来表示当前文档的性质和格式

  2. 1.1HTTP缺点:

  3. 消息头不能被压缩

  4. 两个报文之间的heaser通常非常相似,但它们仍然在连接中重复传输

  5. 无法复用



请求头

  1. 请求头允许客户端向服务器端传递附加信息


请求头 分为:
  1. 通用头:同时适用于请求和响应消息,但与最终消息主体中传输的数据无关
  2. 请求头:包含更多有关要获得的资料或客户端本身信息的消息头
  3. 实体头:包含有关实体主体的更多信息如主主体长度或MiME 类型



请求主体

  1. 单文件的 文本
  2. 多文件的 表单


HTTP 报文
  1. HTTP 消息 请求消息 响应消息
  2. 请求消息:

HTTP 的 method /获取的资源路径 / http 协议版本号 /请求头部信息headers

  1. 响应消息

版本号 / 状态码 / 状态信息 / http headers以及包含获取的资源body



http 消息结构
  1. start line :起始行(状态行) 描述要执行的请求或者是对应的状态

    ​ 协议版本:通常为HTTp/1.1

    ​ 状态码: 表明请求是成功或失败 长见 200(成功),404(失败) ,或 302(重定向)

    ​ 状态文本:一个简短的,纯粹的信息,通过状态码的文本描述

    HTTP/1.1 200 ok 
    
  2. HTTP headers :HTTP 头集合 指明请求或描述消息的正文

  3. empty line : 一个空行指示所有关于请求的元数据已经发送完毕

  4. body :请求相关数据的正文 或者响应相关的文档



请求消息与响应消息

http 请求消息: 由客户端发送用来触发一个服务器上的动作

http 响应消息: 来自服务器的应答



版权声明:本文为weixin_44593999原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。