note_21.1_http报文首部

http协议和httpd的配置

URL:Unifrom Resource Locator
  URL方案:scheme
  服务器地址:ip:port
  资源路径:/images/banner.jpg

基本语法:
<scheme>://[<user>[:<password>]@]<host>:<port>/<path>[;<params>][?<query>][#<frag>]
params: 参数
http://www.magedu.com/bbs/hello;gender=f
query:
http://www.magedu.com/bbs/item.php?username=tom&title=abc
frag:
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html-single/Installation_Guide/index.html#ch-Boot-x86

http协议:
  http/0.9, http/1.0, http/1.1, http/2.0

http协议:stateless
  服务器无法持续追踪访问者来源
  cookie, session

http事务:
请求:request
响应:response

报文语法格式:

request报文

<method> <request-URL> <version>
<HEADERS>

<entity-body>

response报文

<version> <status> <reason-phrase>
<HEADERS>

<entity-body>

method: 请求方法,标明客户端希望服务器对资源执行的动作
GET、HEAD、POST、PUT(DAV)、DELETE、TRACE、OPTIONS

version:
HTTP/<major>.<minor>

status:
三位数字,如200,301, 302, 404, 502; 标记请求处理过程中发生的情况;

reason-phrase:
状态码所标记的状态的简要描述;

headers:
每个请求或响应报文可包含任意个首部;每个首部都有首部名称,后面跟一个冒号,而后跟上一个可选空格,接着是一个值;

entity-body:请求时附加的数据或响应时附加的数据;

method(方法):

├──GET:从服务器获取一个资源;
├──HEAD:只从服务器获取文档的响应首部;
├──POST:向服务器发送要处理的数据;
├──PUT:将请求的主体部分存储在服务器上;
├──DELETE:请求删除服务器上指定的文档;
├──TRACE:追踪请求到达服务器中间经过的代理服务器;
└──OPTIONS:请求服务器返回对指定资源支持使用的请求方法;

协议查看或分析的工具:
tcpdump, tshark, wireshark

status(状态码):

├──1xx:100-101, 信息提示;
├──2xx:200-206, 成功
├──3xx:300-305, 重定向
├──4xx:400-415, 错误类信息,客户端错误
└──5xx:500-505, 错误类信息,服务器端错误

常用的状态码:
├──200: 成功,请求的所有数据通过响应报文的entity-body部分发送;OK
├──301: 请求的URL指向的资源已经被删除;但在响应报文中通过首部Location指明了资源现在所处的新位置;Moved Permanently
├──302: 与301相似,但在响应报文中通过Location指明资源现在所处临时新位置; Found
├──304: 客户端发出了条件式请求,但服务器上的资源未曾发生改变,则通过响应此响应状态码通知客户端;Not Modified
├──401: 需要输入账号和密码认证方能访问资源;Unauthorized
├──403: 请求被禁止;Forbidden
├──404: 服务器无法找到客户端请求的资源;Not Found
├──500: 服务器内部错误;Internal Server Error
└──502: 代理服务器从后端服务器收到了一条伪响应;Bad Gateway

首部的分类:

├──通用首部
├──请求首部
├──响应首部
├──实体首部
└──扩展首部

  • 通用首部:
    Date: 报文的创建时间
    Connection:连接状态,如keep-alive, close
    Via:显示报文经过的中间节点(代理服务器)
    Cache-Control:控制缓存
    Pragma:

  • 请求首部:
    Accept:通过服务器自己可接受的媒体类型(MIME, text/html, appliction/javascript, images/jpeg);
    Accept-Charset:
    Accept-Encoding:接受编码格式,一般指压缩机制,如gzip、deflate, sdch
    Accept-Language:接受的语言
    Client-IP:
    Host: 请求的服务器名称和端口号
    Referer:包含当前正在请求的资源的上一级资源;
    User-Agent:客户端代理

    • 条件式请求首部:
      Expect:
      If-Modified-Since:自从指定的时间之后,请求的资源是否发生过修改;
      If-Unmodified-Since:
      If-None-Match:本地缓存中存储的文档的ETag标签是否与服务器文档的Etag不匹配;
      If-Match:

    • 安全请求首部:
      Authorization:向服务器发送认证信息,如账号和密码;
      Cookie: 客户端向服务器发送cookie
      Cookie2:

    • 代理请求首部:
      Proxy-Authorization: 向代理服务器认证

  • 响应首部:
    信息性:
    Age:响应持续时长
    Server:服务器程序软件名称和版本

    • 协商首部:某资源有多种表示方法时使用
      Accept-Ranges:服务器可接受的请求范围类型
      Vary:服务器查看的其它首部列表;

    • 安全响应首部:
      Set-Cookie:向客户端设置cookie;
      Set-Cookie2:
      WWW-Authenticate:来自服务器的对客户端的质询认证表单

  • 实体首部:
    Allow: 列出对此实体可使用的请求方法
    Location:告诉客户端真正的实体位于何处
    Content-Encoding:
    Content-Language:
    Content-Length: 主体的长度
    Content-Location: 实体真正所处位置;
    Content-Type:主体的对象类型

    缓存相关:
    ETag:实体的扩展标签;
    Expires:实体的过期时间;
    Last-Modified:最后一次修改的时间

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,099评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,473评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,229评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,570评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,427评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,335评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,737评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,392评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,693评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,730评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,512评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,349评论 3 314
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,750评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,017评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,290评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,706评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,904评论 2 335

推荐阅读更多精彩内容