• 第一章概述


    1.TCP/IP协议簇一共分为七层

      应用层:Http  Ftp 等等

     表示层:

     会话层:

     传输层: TCP   UDP

     网络层:IP协议, ICMP协议,  IGMP协议

     链路层:设备驱动程序以及接口卡

     物理层:

    既然协议簇命名为:Tcp/Ip 核心就是TCP和IP

    IP协议:是无连接的网络协议,主要是处于网咯层的IP协议提供传输方式不可靠的,它只承诺尽可能地将数据报发送出去,但不保证发送的数据报能够成功的抵达目的地。IP协议不可靠性还体现在它不能检测数据在传输过程中是否发生改变.

    TCP协议:建立在网络层之上的传输层解决网络层这两个问题; 是基于一个连接的传输协议,数据交换双方在进行报文传输之前需要建立连接,报文传输结束之后就关闭连接。

    TCP 利用"接收确认"和"超时重传"机制确保数据能够成功抵达目的地.

    HTTP :"超文本传输协议"是TCP/IP协议簇一部分;这是之前分成七层处于应用层,由于在传输层之上所以HTTP自然提供可靠数据传输的保障。

       IP协议利用IP地址定位数据报发送的目的地,而利用域名系统(DNS)可以实现域名与IP地址之间的转换;TCP协议利用端口(Port)标识应用程序,所以两个应用程序在使用TCP协议进行通信的时候必须确定双方的IP地址(或者域名)和端口号;

      HTTP默认端口:80

      HTTPS默认端口:443

    2.web 资源

          媒体类型:数据处理必须依赖于一种已知的格式,所以将资源的形态以一种标准化的方式确定下来显得尤为重要,这个描述资源格式的标准称为媒体类型(MIME);

         几种常用的媒体类型为: 

            text/html:HTML格式的文本

           text/xml(application/xml):XML格式的文本

      text/json(application/json):JSON格式的文本

      image/gif(image/jpeg,image/png):GIF(JPEG,PNG)格式的图片

      audio/mp4(audio/mpeg,audio/vnd.wave):MP4(MPEG,WAVE)格式的音频文件

      video/mp4(video/mpeg,video/quicktime):mp4(MPEG,QUICKTIME)格式的视频文件

      MPEG:动态图像专家组

      QuickTime:是一款拥有强大的多媒体技术的内置媒体播放器

      URI 和URL ,URN

      URI:"统一资源标识",标识可操作的资源应该具有一个或多个唯一的标识;

      URL:"统一资源定位符",包含了标识符,还有具有定位的功能,可以用于描述资源的位置;一个完整的URL包含协议名称,主机名(ip地址或者域名),端口号,路径,查询字符串5个部分

      URN:"统一资源定位名称",它与资源位置无关,资源位置改变了其标志符依然不改变。

       HTTP 响应状态:

      100-199: 信息状态码

      200-299:成功状态码

      300-399:重定向状态码,代表需要客户端采取进一步的操作才能完成请求

      400-499:客户端错误代码,代表因客户端发生错误而妨碍了服务的处理

      500-599:服务端错误状态码,代表服务器在处理请求的过程中有错误或者异常发生。

     HTTP 报文

      客户端和web服务器在一次HTTP事务交换的消息称为HTTP报文;报文有三部分组成:

      起始行:代表HTTP报文的第一行文字,请求报文利用起始行标识采用的HTTP方法,请求URL和采用的HTTP的版本

          例如: GET  http://www.micosoft.com/en-us/       HTTP/1.1

          HTTP方法是:GET

          目标资源: http://www.micosoft.com/en-us/  

          协议版本:HTTP/1.1

      报头集合:HTTP报头的起始行后可以包含零个或多个报头字段;每个报头表现为一个键值对。  

        报头获得主机名称(Host)

        采用的缓存策略(Cache-ControI)

        浏览器相关信息(Uscr¨Agent)

        客户端支持的媒体类型(Accept)

        编码方式(Accept-Encoding)

        语言(AGcept-Language)

        字符集(Aooept-Charset)

      主体内容:代表报头集合结束标志的空行之后就是HTTP报文的主体部分;

      RESTful Wen APi

        REST不是一个标准,而是一个架构风格,与之对应的是传统的web service 采用的RPC架构风格。

        如果说RPC是一种面向操作的架构风格的话,REST就是一种面向资源的架构风格。

    使用标准的HTTP方法

      GET:用于获取所需要的资源,服务器一般将对应的资源置于响应的主体部分返回客户端。

      HEAD:请求一般不是为了获取目标资源本身的内容,而是希望得到描述资源的元数据信息。服务器一般将对应资源的元数据置于响应的报头集合返回给客户端,所以这样的响应一般不具有主体部分。

      OPTIONS:请求一般是一种”探测“请求,其目的在于确定针对某个目标地址的只是请求应该具有这样的约束(比如应该采用怎样的HTTP方法或者必须携带怎样的自定义报头),然后根据其约束发送符合条件的请求。

      POST和PUT:均可以请求添加一个新的资源,但是两者的不同之处在于:前者一般不能决定标识添加资源最终采用的URL,即服务端最终为成功添加的资源指定URI;而后者,最终标识添加资源的URI是可以由请求者控制的。如果PUT提供的资源不存在,则做添加操作,否则做修改操作。 

      PATCH:如果需要进行"局部"修改,因为语义上讲是打补丁的意思。

      DELETE:删除

      GET,HEAD,OPTIONS均被认为是安全的方法,也被视为幂等方法。

      幂等性(indemoptent)是一个数学上的概念,在这里标识发送一次或多次请求引起的边界效应是一致的。

      

  • 相关阅读:
    htnl类名命规范
    JAVA集合中泛型的原理本质简介
    java 泛型中的上界(extend)和下界(super)
    elasticsearch深度分页问题
    AOP组合使用切面和自定义注解
    G1垃圾回收器基本知识及原理解析
    MyBatisplus源码解析
    生产环境碰到系统CPU飙高和频繁GC,你要怎么排查?
    fullgc触发条件_记一次生产频繁出现 Full GC 的 GC日志图文详解
    JavaThreadContextLoader(线程上线文类加载器)总结
  • 原文地址:https://www.cnblogs.com/jzhou/p/4867274.html
Copyright © 2020-2023  润新知