HTTP 1.1基础了解

HTTP 1.1

标签(空格分隔): 网络


  • TOP question
  • TCP/IP 基础知识
  • HTTP 图解 和 HTTP权威指南
  • 用思维导图理清关系
  • 七层协议 : 各个层了解下。每层所包含的协议。以及每层的细分 与 下属的协议
  • HTTP与TCP、IP关系
  • HTTP是基于TCP协议之上的应用层协议
  • Websocket 长连接(知乎多标签消息提醒功能) 短连接
  • OSI七层模型 与 TCP/IP分层模型 关系,TCP、IP分开来讲就又不同了。
  • HTTP API
  • socket通信
  • 自顶向下
  • 五层模型(五层应该是把物理层算进去了)
  • 了解基本的硬件在哪层,起的什么作用。如路由器,网关。 对流量的控制

http://blog.jobbole.com/93960/ 长连接 短链接
http://blog.jobbole.com/86660/ https实践

问题: 输入网址后,到达DNS服务器,获得IP地址,此时的数据传输是怎么进行的?是把IP返回? 还是怎么获取数据?

简单理解: 每一层 对于所使用的协议,封装这个协议的header

需要清楚的是,我们不仅谈论的是HTTP,数据在网络的传输,肯定是与TCP/IP密切联系的。比如我想知道的GZIP这类的压缩传输就应该从TCP/IP来学习了。就是TCP/IP同行传输流!!! 此处输入图片的描述

TOP QUESTIONS:、

  • 内容消息的具体传输
  • GZIP 等压缩的具体应用。

HTTP学习的简单笔记

超文本传输协议(HTTP)是一种为分布式,协作式的,超媒体信息系统

[TOC]

一:引论

1.1术语

  • connection
  • message
  • request
  • response
  • resource
  • entity
  • representation
  • content negotiation
  • variant
  • client
  • server
  • origin sever
  • proxy
  • gateway
  • tunnel
  • cache
  • cacheable
  • first-hand
  • 。。。很多

三:协议参数

3.1HTTP版本

HTTP-Version = "HTTP""/"1DIGIT"."1DIGIT

3.2:通用资源标识符URI

HTTP URL

http scheme HTTP模式
httpURL = "http:" "//" host [ ":" port ] [ abspath [ "?" query ]]

3.3:日期/时间格式(DATA/TIME Formats)

所有的 HTTP 日期/时间都必须以格林威治时间(GMT)表示。对 HTTP 而言,GMT 完全等同 于 UTC(世界协调时间)。 不用太关注

3.4字符集:Character sets

3.5内容编码:content codings

3.6传输编码:transfer codings

3.7媒体类型:Media Type

四:HTTP消息

消息类型 Message Types

HTTP-message = Request|Response ;HTTP/1.1
利用 RFC 822[9]定义的常用消息的格式,这种消息格式 是用于传输实体(消息的负载)。

消息头 Message Headers

HTTP 头域包括常用头域(4.5 节),请求头域(5.3 节),响应头域(6.2 节)和实体头域
(7.1 节)

消息主体 Message body

HTTP 消息的消息主体用来承载请求和响应的实体主体( entity-body)的
请 求中 消 息 主 体 ( message-body ) 的 存 在 是 被 请 求中 消 息 头域中 是否 存 在内容长度 ( Content-Length ) 或 传 输 译 码 ( Transfer-Encoding ) 头 域 来 通 知 的 。 对于响应消息,消息里是否包含消息主体依赖相应的请求方法和响应状态码。所有 HEAD 请求 方法的请求的响应消息不能包含消息主体,即使实体头域出现在请求里。

消息长度Message Length

当消息主体出现在消息中时,一条消息的传输长度(transfer-length)是消息主体(messagebody)的长度;也就是说在实体主体被应用了传输编码(transfer-coding)后。

常用头域 General Header Fields

五:请求 request

请求行-request-line:请求方法 请求URL

请求资源的识别-The Resource identified by a request: 虚拟主机的存在 virtual hosts || virtual hosts names

请求头域-request header fields:

六:响应response

状态行: status code 状态码

-1xx :报告的 -请求被接收到,继续处理 -2xx :成 功 - 被成 功 地 接收 ( received ) , 理 解 ( understood ) , 接受 (accepted)的动作 。 -3xx :重发 - 为了完成请求必须采取进一步的动作。 -4xx :客户端出错 - 请求包括错的语法或不能被满足。 -5xx :服务器出错 - 服务器无法完成显然有效的请求。

能否通过一个可视化,展示不同状态码时的header,就是详细的表示整个过程

响应头域:

七:实体Entity

实体头域:

实体主体:

八:连接

持久连接:Persistent Connection

目的: HTTP持久连接有很多优点

总体操作: negotiation
pilelining

代理:

实际考虑practical consideration

消息传送的要求message transmission request

九:方法定义Method definition

十:状态码定义

我需要记清楚每个状态码的意义,别人问,我才好装逼啊。

  • 1xx
    • 100 continue
    • 101 switching protocols
  • 2xx
    • 200 ok
    • 201 created
    • 202 accepted
    • 203 Non-Authoritative information
    • 204 no content
    • 205 reset content
    • 206 partial content
  • 3xx
    • 300 multiple choices
    • 301 moved permanently
    • 302 found
    • 303 see other
    • 304 not modified
    • 305 use proxy
    • 306 unused
    • 307 temporary redriect
  • 4xx
    • 400 bad request
    • 401 unauthorized
    • 402 payment required
    • 403 forbidden
    • 404 not found
    • 405 method not allowed
    • 406 not acceptable
    • 407 proxy authentication require
    • 408 request timeout
    • 409 confilict
    • 410 gone
    • 411 length required
    • 412 precondition failed
    • 413 请求实体太大
    • 414 request-URL too long
    • 415 unsupported media type
    • 416 requested range not satisfiable
    • 417 expectation failed
  • 5xx server error
    • 500 internal server error
    • 501not implemented
    • 502 bad gateway
    • 503 service unavailable
    • 504 gateway timeout
    • HTTP version not supported

十二:内容协商 Content negotiation

十三:HTTP中的缓存

HTTP 通常应用于能通过采用缓存技术提高性能的分布式信息系统。

十四:头域定义

本节定义了所有 HTTP/1.1 47种标准头域的语法和语义。对于实体头域来说,发送者和接收者都既 可以指客户端也可以指服务器,取决于谁发送和谁接收此实体。

十五:安全考虑 (Security Consideration)