美文网首页
iOS 网络常识

iOS 网络常识

作者: userName | 来源:发表于2018-03-01 18:31 被阅读9次

    DNS的含义

    DNS(Domain Name System)服务是和HTTP协议一样位于应用层的协议,它提供域名到IP之间的解析服务。

    一个app是如何跟服务端通信的

    P15

    先从DNS获取对应的IP地址
    HTTP职责,生成针对服务器的HTTP请求报文
    TCP协议的职责,将HTTP请求报文分割成报文段,把每个报文可靠地传给对方
    IP协议的职责,搜索对方的地址,一边中转一边传给对方
    TCP协议的职责,从对方那里接收的报文段,重组到达的报文段,按序号以原来的顺序重组请求报文
    HTTP,对服务器请求的内容进行处理
    请求的处理结果也同样利用TCP/IP通信协议向用户方向进行回传

    HTTP协议的规定

    HTTP协议规定,请求从客户端发出,最后服务器响应该请求并返回。换句话说,肯定是先从客户端开始建立连接通信的,服务器端在没有接收请求之前不会发送响应。
    HTTP是一种不保存状态,既无状态协议。协议对于发送过的请求或响应都不做持久化处理。

    告知服务器意图的HTTP/1.1方法

    1)GET:获取资源
    我想要访问你的某个资源
    2)POST:传输实体主体
    我要把这条消息告诉你
    3)PUT:传输文件
    我要把这个文件传给你
    由于HTTP1.1的PUT方法不带有验证机制,存在安全性问题,因此一般网站不使用该方法。
    4)HEAD:获取报文首部
    把那个的相关信息发给我
    HEAD和GET方法一样,只是不返回报文的主体部分。用于确认URI的有效性及资源更新的日期时间等。
    5)DELETE删除文件
    快把那个文件删掉吧。
    类似PUT不带有验证性,所以一般也不会使用。
    6)OPTIONS:询问支持的方法。
    你支持那些方法。
    OPTIONS方法用来查询针对请求的URI制定的资源支持的方法。
    7)TRACE:追踪路径
    TRACE方法是让服务器将之前的请求通信返回给客户端的方法。
    8)CONNECT:要求用隧道协议连接代理
    CONNECT方法要求在与代理服务通信时建立隧道,实现用隧道协议进行TCP通信。主要是用SSL和TLS协议把通信内容加密后经网络隧道传输。

    状态码类别

    状态码 类别 原因短语
    1XX 信息性状态码 接收的请求正在处理
    2XX 成功状态码 请求正常处理完毕
    3XX 重定向状态码 需要进行附加操作已完成请求
    4XX 客户端错误码 服务器无法处理请求
    5XX 服务器错误码 服务器处理请求出错

    代理 网管

    代理:不能改变请求的URI, 回直接发送给持有资源的目标服务器。
    网管:能够提高通信的安全性,能使通信线路伤的服务器提供非HTTP协议的服务.

    以上都是参考《图解HTTP》

    相关文章

      网友评论

          本文标题:iOS 网络常识

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