美文网首页
HTTP的原理和工作机制

HTTP的原理和工作机制

作者: 吐必南波丸 | 来源:发表于2019-08-09 11:13 被阅读0次
概念
  • 两种最直观的印象
    · 浏览器地址栏输入地址,打开网页
    · Android 中发送网络请求,返回对应内容
  • HyperText Transfer Protocol 用于传输超文本的协议.以前是HTML,现在也包括Web API的数据
工作模型
  • 客户端按需求组装HTTP报文,发送给服务器,服务器处理后得到响应报文,发回给客户端,客户端处理响应报文

URL-> HTTP 报文

  • 示例 :http:// xxxxxx.com/users?gender=male
    • http: 协议类型
    • xxxxxx.com (Host 域名服务器主机地址,但是不是用来寻址的)
    • user?gender=male 路径 path
工作方式
  • 示例


    28e2ddbb35101d863cfab0e1aefc092.png
请求格式(报文格式 :Request)
  1. 请求行
  • method :请求方法 GET 、 POST、 PUT、DELETE、HEAD
  • path : 请求路径(给服务器看的,负责定位)
  • HTTP verson :目前大部分用的都是1.1版本
  1. Header
  • Host :服务器主机地址
  • Content-Type :
  • Content-Length: 内容的长度(字节)
  1. Body
  • 要发给服务器的内容
60a42eb46a504bd47ada25db0bd1676.png
返回数据格式 (报文格式 Reponse)
  1. 状态行
  • HTTP version :HTTP 版本
  • status code : 返回请求的状态码,对结果做出类型化描述
    • 1xx: 临时性消息 100 101
    • 2xx: 成功
    • 3xx: 重定向 (301 永久性迁移,需要重新定位 304 内容数据无改变)
    • 4xx: 客户端错误
    • 5xx: 服务端错误
  • status message :返回的状态信息
  1. Header
  • Content-Type
  • cache-control
  • vary
  • etag
  • content-encoding:
  1. Body
    3521b6ba25cde336041ed5b3d01e24c.png
Request method详解
  1. Get
  • 获取资源 : 没有body
    示例 :
             GET/users/1   HTTP/1.1
             Host:api.githup.com
  1. POST
  • 增加或者修改资源: 有body
    示例:
            POST/users/1   HTTP/1.1
            Host:api.githup.com
           
请求体  name =rengwuxian&gender=male    
  1. PUT(有幂等性)
  • 修改资源 : 有Body
  1. DELETE(具有幂等性)
  • 删除资源 : 没有Body

Head

  • 和GET 几乎一样,区别Head 请求后服务求不会返回body,其余都会返回
  1. Header
  • 作用: HTTP消息的元数据(metadata)
  • Host:服务器主机地址

例子 Host :api.githup.com -> "域名主机地址" 不是用来寻址的,在发出请求之前,通过DNS (域名系统)找到IP地址,例如返回IP地址“20.35.”,然后通过IP地址找到目标服务器, 一个域名可以对应多个IP地址,服务器有可能有子服务器,一个服务器下面可能有几个虚拟主机,同样的IP地址下面可能有多个服务器存在,所以还是需要把域名发给服务器,找到你想要的那台主机服务器>

  • Content-Length : 内容的长度(字节)

  • Content-Type :内容的类型

    • text/html: html 文本,用于浏览器页面响应
    示例 :Content-Type: text/html 
    
    • application/x-www-form-urlencoded: (只能传输文本格式的)普通表单,encodedURL格式
      示例:Retrofit 请求添加的header


      813a562b76d1b0c69d72f15572606c9.png

      在post 注解上面添加 注解@FromUrlEncoded 然后传递的参数注解用@Field ->他会把你传的这些参数拼节到boy里面

    • multipart/form-data : 传参注解(@Part “photo” RequestBoay photo)多部分形式,一般用于传输包含二进制内容的多项内容
    • application/json : json 形式,用于Web Api 的响应或者Post / Put 请求
    • image/jpeg :单文件,用于Web Api 响应或者Post /Put 请求
    • application/zip :单文件,用于Web Api 响应或者Post /Put 请求
  • Location : 重定向的目标URL

  • User-Agent : 用户代理

  • Range/Accept-Range:指定Body的内容范围 (当你的目标服务器支持你分段下载的时候可用)

  • Cookie/Set-Cookie :发送Cookie/设置Cookie

  • Authorzation : 授权信息

  • Accept: 授权客服端能接受的数据类型 ,如 text/ html ,application/json

  • Accept-Chartset: 客户端接受的字符集 如 utf-8

  • Accept-Encoding: 客户端接受的压缩编码类型 如 gzip

  • Content-Encoding: 压缩类型 如gzip

  • Cache

    • Cache 和Buffer 区别 : Cache 缓存 Buffer 缓冲
  • Cache-Contorl: no-cache(可以缓存,但是当你再次使用这个资源时需要访问服务器自否是否已经失效了) no-store(不缓存) max-age(订了一个失效日期,在失效日期之前绝对可用)

  • Last-Medified

    • If-Modified-Since
  • Etag

    • If-None-Math
  • Cache-Control:prvate/public

相关文章

  • HTTP的原理和工作机制

    概念 两种最直观的印象· 浏览器地址栏输入地址,打开网页· Android 中发送网络请求,返回对应内容 Hype...

  • HTTP的原理和工作机制

    HTTP 的定义 一种网络传输协议,位于 TCP / IP 协议族的最顶层——应用层HTTP : Hypertex...

  • HTTP的原理和工作机制

    为什么要学习HTTP HTTPS为什么安全? 长链接和短链接分别是什么? 除了用json传数据还有别的什么数据格式...

  • HTTP 的原理和工作机制(一)

    HTTP 是什么? Hyper Text Transfer Protocol 超文本传输协议,是一种 Client...

  • Http 基础

    [toc] Http 基础 Http的原理和工作机制 Http 定义 Http到底是什么 直观印象: 浏览器输入地...

  • [视频笔记] - Android 高级开发瓶颈突破系列课

    1.序言及体验课 2.HTTP 的概念、原理、工作机制、数据格式和REST HTTP请求报文格式: HTTP想要报...

  • HTTP 原理和工作机制(三)—— 登录授权

    登录和授权 登录 身份认证的过程,在输入账号和密码以及点击登录按钮这一操作流程,就是将「你本人」和所输入的「账号」...

  • http协议入门

    通过对http协议的初步了解,了解到http的工作原理,了解到什么叫请求行状态行和消息头,了解到了缓存机制,了解到...

  • JavaWeb-Cookie&Session

    本文主要讲解Cookie和Session的机制与原理 cookie机制: 正统的cookie分发是通过扩展HTTP...

  • HTTP的缓存机制与工作原理详解

    前言 在请求一个静态文件的时候(图片,css,js)等,这些文件的特点是文件不经常变化,将这些不经常变化的文件存储...

网友评论

      本文标题:HTTP的原理和工作机制

      本文链接:https://www.haomeiwen.com/subject/yffbyxtx.html