httpd——事务

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、PUT、POST、DELETE

         version:通信协议的版本

             HTTP/<major>.<minor>

         status:通信返回状态码

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

         reason-phrase:

             状态码所标记的状态的简要描述

         headers:

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

         entity-body:

             请求时附加的数据或响应时附加的数据

method(方法):

         GET:从服务器获取一个资源

         HEAD:只从服务器获取文档的响应首部

         PUT:将请求的主体部分存储在服务器上

         POST:向服务器发送要处理的数据

         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

headers:

         格式:

                 Name:Value

                

                 Accept:image/webp,image/*,*/*;q=0.8

                 Accept-Encoding:gzip, deflate, sdch, br

                 Accept-Language:zh-CN,zh;q=0.8

                 Connection:keep-alive

                 Host:ss3.bdstatic.com

                 Referer:https://www.baidu.com/?tn=78040160_5_pg&ch=1

                 User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36

                

                 Accept-Ranges:bytes

                 Age:1889089

                 Cache-Control:max-age=2592000

                 Connection:keep-alive

                 Content-Length:1504

                 Content-Type:image/png

                 Date:Fri, 07 Oct 2016 04:34:08 GMT

                 ETag:"55648df6-5e0"

                 Expires:Sat, 15 Oct 2016 07:49:18 GMT

                 Last-Modified:Tue, 26 May 2015 15:15:02 GMT

                 Ohc-Response-Time:1 0 0 0 0 0

                 Server:bfe/1.0.8.13-sslpool-patch

首部的分类:

         通用首部

         请求首部

         响应首部

         实体首部

         扩展首部

通用首部:

         Date:报文的创建时间

         Connection:连接状态,如keep-alive,close

         Via:显示报文经过的中间节点

         Cache-Control:控制缓存

         Pragma:

请求首部:

         Accept:通过服务器自己可接收的媒体类型

         Accept-Charset:允许接收的字符集

         Accept-Encoding:接收编码格式,如gzip

         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-Cookie;

                 WWW-Authenticate:来自服务器对客户端的质询认证表单

实体首部:

         Allow:列出对此实体可使用的请求方法

         Location:告诉客户端真正的实体处于何处

        

         Content-Encoding:编码格式

         Content-Language:使用的语言

         Content-Length:主体的长度

         Content-Location:实体真正所处位置

         Content-Type:主体的对象类型

        

         缓存相关:

                 ETag:实体的扩展标签

                 Expires:实体的过期时间

                 Last-Modified:最后一次修改的时间

原创文章,作者:megedugao,如若转载,请注明出处:http://www.178linux.com/50783

(0)
megedugaomegedugao
上一篇 2016-10-12
下一篇 2016-10-12

相关推荐

  • linux 学习笔记

    第二周

    Linux干货 2018-03-16
  • 集群-ipvsadm和NAT实验(3)

    纠正:报文进入内核空间后,当到达input链时发现是一个集群服务时,则直接发送到postrouting链,不经过forward链。 调度算法: 1、静态方法: rr:轮询,即依照次序从所有RS中进行挑选 wrr:加权轮询,按照权重在RS中进行轮询 sh:source hashing,源地址哈希,即对来自相同客户端的请求发送至同一RS,这样会破坏负载均衡效果。…

    Linux干货 2015-12-15
  • 高级文件系统管理

    高级文件系统管理 配置配额系统 在内核中执行 以文件系统为单位启用 对不同组或者用户的策略不同 根据快或者节点限制,软限制 soft 硬限制hart 初始化 分区挂载选项 usrquota,grgquota 初始化数据库:quotacheck 执行配置 开启或者取消 quotaon ,quotaoff 直接编辑配额 edquota username 在she…

    Linux干货 2017-05-03
  • 第一周:Linux基础及哲学思想

    1.现代计算机的组成及功能    现代计算机由运算器、控制器、存储器、输入和输出设备5大部分组成。分别担当着计算机的计算,控制,存储,输入和输出等功能. 2.Linux的发行版及其之间的联系与区别     Linux发行版主要分支分为三大系列: Slackware、debian 、redhat  &…

    Linux干货 2016-06-23
  • shell-语句总结

    shell脚本语法总结 过程式编程语言: 顺序执行 选择执行 循环执行 shell默认是顺序执行,如果有判断或循环语句则执行判断或循环。 条件判断 if     单分支         if 判断条件:then  &nb…

    Linux干货 2016-08-21
  • DNS高级应用之ACL和View

    一、环境准备:     1、准备三台主机,要求如下      (1) DNS服务器双网卡:eth0:192.168.10.203  eth1: 172.16.2.10       (2)测试机1双网卡: eth0: 172.16.…

    Linux干货 2015-06-01