趣谈http 协议

2020-05-26  本文已影响0人  探索的码易

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


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

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

1.1 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: 请求和返回实体类型

上一篇下一篇

猜你喜欢

热点阅读