HTTP 初步知识总结

时间:2022-09-24 09:20:50

1.HTPP报文

HTTP协议以报文的格式传递数据,报文有三部分组成:起始行(对报文进行描述),首部块(包含属性),主体(包含数据,可选)
所有的HTTP报文都可以分为两类:请求报文(Requset Message)和响应报文(Response Message)

1.1起始行:

  • 请求行
    请求方法,URL,客户端的HTTP版本
  • 响应行
    响应报文使用的HTTP版本,数字状态码,以及描述状态的原因短语

2.首部:

2.1 通用首部:

  • Connection 允许客户端和服务器指定与连接有关的选项
  • Date    报文创建时间
  • MIME-Version Trailer TransferCoding Update Via
  • Keep-Alive:(只有提供Connection:Keep-Alive时会有,设置max和timeout)

2.2 通用缓存首部

  • Cache-Control 用于随报文传送的缓存只是
  • Pragma 随报文传递指示的方式,但并不专用于缓存,优先使用Cache-Control

2.3 请求首部

  • Client-IP :运行客户端的机器的IP地址
  • From:提供了客户端用户的EMail地址
  • Host:接受请求的服务器的主机地址以及端口号
  • Refer:
  • User-Agent:发起请求的应用名称
  • UA-Color UA-CPU UA-Disp UA-OS UA-Pixels(有副总用,仅限于特殊的客户端需求)

Accept首部
为客户端提供一种将其喜好和能力告知服务器的方式。

  • Accept 媒体类型
  • Accept-Charset字符集
  • Accept-Encoding编码方式+
  • Accept-Language语言

条件请求首部
通过条件请求首部,客户端可以为请求加上限制,要求服务器在对请求进行响应之前,确保某个条件为真。

  • Expect:允许客户端列出某请求所要求的服务器行为
  • If-Match:如果实体标记与文档当前的实体标记相匹配,就获取这份文档。
  • If-Modfified-Since:除非在某个指定的日期之后资源被修改过,否则就限制这个请求。
  • If-None-Match:如果实体标记不匹配,获取文档。
  • If-Range:允许对文档的某个范围进行条件请求。
  • If-Unmodifier-Since:除非在某个指定日期后没有被修改过,否则就闲着这个请求
  • Range:如果服务器支持范围请求,就请求资源的制定范围。

安全请求首部:

  • Authorization:包含了客户端提供给服务器,以便进行自身认证的数据
  • cookie:一个令牌

代理请求首部:

  • Max-Forward:
  • Proxy-Authorization
  • Proxy-Connection

2.4 响应首部

信息性首部

  • Age
  • Public
  • Retry-After
  • Server
  • Title
  • Warning

协商首部

  • Accept-Ranges
  • Vary

安全响应首部

  • Set-Cookie

实体首部

  • Allow
  • Location

2.5 内容首部

  • Content - (Base + Encoding + Language + Length + Location+ MD5 + Range+ Type)

2.6实体缓存首部

  • ETag
  • Expires
  • Last-Modified

GET方法负责从服务器获取一个文档
POST方法向服务器发送需要处理的数据

对HTTP304的理解
当在浏览器里输入google.com并按回车的时候发什么什么
HTTP 状态消息

HTTP 初步知识总结的更多相关文章

  1. C++面向对象程序设计之C++的初步知识

    本节内容为学习谭浩强老师编写的<C++面向对象程序设计>的第1章  C++的初步知识  后的个人总结. 在正文开始之前,首先声明,我是Python程序员. 1.2.最简单的C++程序 例1 ...

  2. JAVA面向对象初步知识总结:封装、继承、多态

    1.封装 把数据和方法包装进类中,以及具体实现的隐藏,常共同被称作是是封装.其结果是一个同时带有特征和行为的数据类型.所谓具体实现的隐藏是通过访问权限控制实现的.JAVA 子类重写继承的方法时,不可以 ...

  3. 全国计算机等级考试二级教程-C语言程序设计&lowbar;第2章&lowbar;C程序设计的初步知识

    正负号与被除数一致. 3 % (-5) == 3 (-3) % 5 == -3 不用求余运算符,求出余数. int x, y; 答:x - x / y * y; const int i = 10; c ...

  4. &lbrack;Spring学习笔记 1 &rsqb; Spring 简介,初步知识--Ioc容器详解 基本原理。

    一.Spring Ioc容器详解(1) 20131105 1.一切都是Bean Bean可是一个字符串或者是数字,一般是一些业务组件. 粒度一般比较粗. 2.Bean的名称 xml配置文件中,id属性 ...

  5. Linux用户和用户组的初步知识

    用户组相关:在Linux系统下,当创建一个如叫tom的用户,那么系统同时会创建一个叫tom的用户组linux中用户的信息都是放在/etc/passwd下的,用户的密码经过加密后放在/etc/shado ...

  6. ABP源码分析三十八&colon; ABP&period;Web&period;Api&period;OData

    如果对OData不熟悉的话可参考OData的初步认识一文以获取OData的一些初步知识. API.Odata 模块唯一用处就是提供了一个泛型版本的ODataController,实现了Controll ...

  7. 耿丹CS16-2班助教总结

    Deadline: 2016-1-7 11:59pm 开篇有言 --又是一年末,不似风光,却添风霜,顶霾前进,踽踽独行,可乎? 助教那些事儿 助教这份工作是之前就担任过的,很羞愧,当时才担任了几天就撒 ...

  8. 【转】Linux下Fork与Exec使用

    Linux下Fork与Exec使用 转自 Linux下Fork与Exec使用 一.引言 对于没有接触过Unix/Linux操作系统的人来说,fork是最难理解的概念之一:它执行一次却返回两个值.for ...

  9. Kolmogorov 的数学观与业绩

    https://www.douban.com/group/topic/11395706/ 作者:伊藤清 当我得知苏联伟大的数学家,84岁的 Andreyii Nikolaevich Kolmogoro ...

随机推荐

  1. JavaScript的json和Array及Array数组的使用方法

    1.关于json JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集.也可以称为数据集和数组类似,能够存数据! //Ar ...

  2. 利用backtrace和objdump进行分析挂掉的程序

    转自:http://blog.csdn.net/hanchaoman/article/details/5583457 汇编不懂,先把方法记下来. glibc为我们提供了此类能够dump栈内容的函数簇, ...

  3. Oracle笔记 九、PL&sol;SQL 游标的使用

    --演示隐式游标,系统自动声明,自动打开,自动使用并且自动关闭 begin update emp set sal = 1000; dbms_output.put_line('影响的行数:' || sq ...

  4. do&lbrace;&period;&period;&period;&rcub;while&lpar;0&rpar;的作用

    不是为了循环的while. 1.用于宏定义,保证宏一定按照想要的方式执行. #define   foo(x)     start(x); end(x) if(flag) foo(x); 扩展以后的结果 ...

  5. StrictMode模式介绍

    最新的Android平台中(Android 2.3起),新增加了一个新的类,叫StrictMode(android.os.StrictMode).这个类可以用来帮助开发者改进他们编写的应用,并且提供了 ...

  6. Java实战之02Hibernate-06处理并发

    十三.处理并发 1.事务的隔离级别 不考虑隔离级别出现的问题: 脏读:一个线程中的事务读到了另外一个线程中未提交的数据. 不可重复读:一个线程中的事务读到了另外一个线程中提交的update(更新)的数 ...

  7. 《Linear Algebra and Its Applications》-chaper2-矩阵的逆

    矩阵的逆: 逆矩阵的定义: 类比于我们在研究实数的时候回去讨论一个数的倒数,对应的,在矩阵运算中,当AB = I的时候,A,B互称为逆矩阵,这里的I类似实数中的1,表示单位矩阵,即对角线是1其余位置是 ...

  8. 51Nod 1344 走格子

    参考自:https://www.cnblogs.com/ECJTUACM-873284962/p/6445381.html 1344 走格子 基准时间限制:1 秒 空间限制:131072 KB 分值: ...

  9. MySql数据库学习笔记&lpar;2&rpar;

    DELETE 语法:delete from 表名 [where condition] delete from grade; TRUNCATE 用于完全清空表数据,但表结构.索引.约束不变: 语法: t ...

  10. (六)cxf处理一些Map等复杂类型

    前面讲的一些都是简单类型,cxf都支持.但是有些复杂类型,cxf是不支持,比如常用的Map类型: 下面我们在前面的实例基础上在加一个方法,比如我们现在有个需求,获取所有用用户以及对应的每个用户所有角色 ...