美文网首页
趣谈http 协议

趣谈http 协议

作者: 探索的码易 | 来源:发表于2020-05-26 10:17 被阅读0次

    由于2020 的黑天鹅的到来,让2019的对自己新的一年的的期许大打折扣,好在自己对编程的热情并没有因为疫情的到来而压抑,而是热情更高,工作至今,没有一个让自己觉的做的产品可以拿出手的,或者说能拿的出手的产品,希望在自己职业生涯结束的时候,能有一个让自己觉的有点小骄傲的的成品出现


    1. 要了解http 就要知道socket 和tcp/ip

    • socket io 流的一种借口形式
    • tcp/ip 是socket 的一种实现方式,是网络传输的一种规则
    • http 是tcp/ip 的的子集,或者说是导出类

    用oop 的说法是tcp/ip 是实现了socket 的接口,http是对tcp/ip 的一种具体实现

    1.1 tcp/ip协议组(网络协议)

    • 应用层 :提供应用服务时的通信活动,http 就存在这一层
    • 传输层 : 服务于应用层,提供两端的数据传输,tcp 协议就属于这一层,是一种规则,字节流
    • 网络层:就是具体通过哪种路径传输,传给谁,ip 协议就是在这一层,数据包在这一层流动
    • 数据链路层: 硬件的一些数据控制,网卡,光纤呀,操作系统等等

    通常我们给的 是域名而不是ip ,是靠一个位于传输层的DNS 协议,他是把域名解析为 ip 地址;

    2 URL和URI

    1. URL同一资源标识符 比如www.baidu.com
    2. URI同一资源定位符,他是基于某个协议下的,比如http,tcp

    URL 是uri 的一个子集,uri 表明是某个互联网的资源,url 是具体的地址,或者说url 是uri 的更加具体的一种形式,

    3 http 内容

    GET / index.html HTTP/1.1
    HOST: hackr.jp content-length: 362 content-type
    name=libo&password=123456

    分析下上面的http 的的报文

    1. get 为请求的方法
    2. index.html 资源对象也是我们长说的url
    3. HTTP/1.1 为http 协议的版本号
    4. HOST: hackr.jp 为请求首部字段
    5. name=libo&password=123456 为请求的内容,或者说报文主体
      3.2 服务器返回

    HTTP1.1 200 OK
    DATA: TUE Content-type: text/html
    <html>

    1. HTTP1.1 200 OK 协议版本号 状态码 状态码 原因短语
    2. ATA: TUE Content-type: text/html 相应首部字段

    顺便说下Http 的记忆是和小鱼 的记忆是一样的 不做状态的保存,为了使这个小鱼有记忆 就应用而生了cookie,和配合服务器玩的token,同时http1.0 也不是持久化,为了避免每次持久化造成的,服务器的压力,1.1 引入了keep-alive ,q前后两端没有说断开的时候,两者都不可以断开;

    cookie 和token 不同的是cookie 是前后两端在首部字段内操作状态标识
    content-type: 请求和返回实体类型

    相关文章

      网友评论

          本文标题:趣谈http 协议

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