apache工作流程和报文详解

HTTP服务请求步骤:
    (1)建立连接
    (2)接受请求
    (3)处理请求
    (4)访问资源
    (5)构建响应
    (6)发送响应
    (7)记录事务处理过程
http报文:
http事务,一次请求以及与其对应的响应
http方法:get,put,head,post,delete

http请求报文格式:
<method> <request-URL> <version>
<headers> 
            
<entity-body>

    
http响应:response
http响应报文格式:    
<version> <status> <reason-phrase>
<headers>
            
<entity-body>

<method>:请求方法,希望服务器端执行的动作,如GET/HEAD/POST等
<request-url>:请求的资源,可以是相对路径,也是完整的URL
<version>:协议版本,格式HTTP/<major>.<minor>,如http/1.0
<headers>:HTTP首部
<status>:状态码
<reason-phrase>:原因短语,数字状态码易读信息
<entity-body>:主体部分

HTTP首部:
    通用首部:请求和响应都可以使用
    请求首部:
    响应首部:
    实体首部:用于指定实体属性
    扩展首部:非标准的首部,可能是由程序开发者创建的,例如X-Forward-For
    
通用首部:
    Connection:定义C/S之间关于请求/响应的有关选项
        对于http/1.0,Connection:keep-alive
    Via:显示了报文经过的中间节点
    Cache-Contor:缓存指示
    Pragma:
请求首部:
    Accept    */*
    Accept-Encoding    gzip, deflate
    Accept-Language    zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
    Connection    keep-alive
    Cookie    U_TRS1=0000000e.5a674e57.58f78476.3ab04d22; 
    Host    client.show.sina.com.cn
    Referer    http://www.sinashow.com/
    User-Agent    Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0
    
    Client-IP:
    Host:请求的主机名和端口号
    Refer:指明了请求当前资源的原始资源的URL,可用于防盗链
    User-Agent:用户代理,使用什么工具发出的请求
        
    Accept首部:用于标明客户端更倾向于支持的方式(比如字符集是否要压缩,)
        Accept:指明服务器能发送的媒体类型
        Accept-Charset:支持使用的字符集
        Accep-Encoding:支持使用的编码方式
        Accept-language:支持使用语言
    条件请求首部:
        Expect:期望
        If-Modified-Since:是否在指定时间以来修改过次资源
        If-None-Match
    跟安全相关的请求首部:
        Authorization:客户端提交给服务端的认证数据,如账号和密码
        Cookie:客户端发送给服务器端身份标识
        Cookie2
    
响应首部:
    Age:
    Server:向客户端标明服务器程序名称和版本
        
    协商首部:
        Accept-Ranges:对当前资源来讲,服务器所能接受的范围类型
        Vary:首部列表,服务器会根据列表中的内容挑选出最适合的版本发送给客户端
    跟安全相关的请求首部:
        Set-Cookie:服务器端在某客户端第一次请求时发给令牌
        Set-Cookie2:
        WWW-Authentication:质询,即要求客户端提供账号和密码

实体首部:
    Location:资源的新位置
    Allow:允许对此资源使用的请求方法
        
内容首部:
    Content-Encoding
    Content-Language
    Content-Length
    Content-Location
    Content-Range
    Content-Type
缓存首部:
    ETag:实体标签
    Expires:过期期限
    Last-Modified:上一次的修改时间
            
HTTP请求方法
    安全方法:GET、HEAD、
    POST,提交表单的方法
    PUT、DELETE、OPTION、TRACE、
    扩展方法:LOCK、MKCOL、COPY、MOVE
    
    GET:请求获取一个资源,需要服务器发送(有或者没有)
    HEAD:跟GET相似,但其不需要服务发送资源而仅传回响应首部
    POST:支持HTML表单提交,表单中有用户填入的数据,这些数据会发送到服务器端,由服务器存储至某位置(例如发送处理程序)
    PUT:与GET相反,向服务器写入文档,发布系统
    DELETE:请求删除URL指向的资源
    OPTION:探测服务器端对某资源所支持的请求方法
    TRACE:跟踪请求要经过的防火墙、代理或网关
    
HTTP状态码
    1xx:信息性状态码
        100 请求继续
    2xx:成功状态码
        200:OK
        201:Created
    3xx:重定向的状态码
        301:Moved Permanently 永久重定向  在响应报文中使用"Location:URL"指定资源现在所处的位置
        302:Found 临时重定向  在响应报文中使用首部"Location:URL" 指定临时资源位置
        304:Not Modified,条件或请求中使用
    4xx:客户端类的错误
        403:Forbidden,请求被服务器拒绝
        404:Not Found 服务器无法找到请求的URL
        405:Method Not Allowed,不允许使用此方法请求相应的URL
    5xx:服务器端的错误
        500:Internal Server Error,服务器内部错误(比如权限错误)
        502:Bad Gateway  代理服务器从上游收到的一条伪响应
        503:Service Unavaliable,服务器此时无法提供服务,但将来可能可用

注:本文来自马哥视频学习记录的笔记。

时间: 2024-11-03 05:29:01

apache工作流程和报文详解的相关文章

tco/iP协议族——IP工作原理及实例详解(下)

 IP协议详解 上一篇文章文章主要介绍了IP服务的特点,IPv4头部结构IP分片,并用tcpdump抓取数据包,来观察IP数据报传送过程中IP的格式,以及分片的过程.本文主要介绍IP路由,IP转发,重定向和IPv6头部结构. IP路由 IP协议的一个核心任务是数据报的路由,即决定发送数据报到目标机器的路径.为了理解IP路由过程,我们先简要分析IP模块的基本流程. IP模块工作流程 从右往左分析上图,它首先对该数据报的头部做CRC校验,确认无误之后就分析其头部的具体信息. 如果该IP数据报的头

ANDROID自定义视图——onMeasure流程,MeasureSpec详解

简介: 在自定义view的时候,其实很简单,只需要知道3步骤: 1.测量--onMeasure():决定View的大小 2.布局--onLayout():决定View在ViewGroup中的位置 3.绘制--onDraw():如何绘制这个View. 而第3步的onDraw系统已经封装的很好了,基本不用我们来操心,只需要专注到1,2两个步骤就中好了. 而这篇文章就来谈谈第一步,也是十分关键得一步:"测量(Measure)" Measure(): Measure的中文意思就是测量.所以它的

转:Windows下的PHP开发环境搭建——PHP线程安全与非线程安全、Apache版本选择,及详解五种运行模式。

原文来自于:http://www.ituring.com.cn/article/128439 Windows下的PHP开发环境搭建——PHP线程安全与非线程安全.Apache版本选择,及详解五种运行模式. 今天为在Windows下建立PHP开发环境,在考虑下载何种PHP版本时,遭遇一些让我困惑的情况,为了解决这些困惑,不出意料地牵扯出更多让我困惑的问题. 为了将这些困惑一网打尽,我花了一下午加一晚上的时间查阅了大量资料,并做了一番实验后,终于把这些困惑全都搞得清清楚楚了. 说实话,之所以花了这么

TCP/IP协议族——ARP、DNS工作原理及实例详解

 测试网络: 通过VMware创建了两个虚拟机,并利用桥接方式联网以此模拟两台主机连接一台路由器的情况.测试网络图如下: ARP协议工作原理 ARP协议能实现任意网络地址到任意物理地址的转换,这里仅讨论IP地址到以太网地址(MAC地址)的转换.其工作原理是:主机向自己所在网络广播一个ARP请求,该请求包含目标机器的网络地址.此网络上的其他机器都将接收到这个请求,但只有被请求的目标机器会回应一个ARP应答,其中包含自己的物理地址. 以太网ARP请求/应答报文 以太网ARP请求/应答报文格式如下

TCP/IP协议族——IP工作原理及实例详解(上)

 IP协议详解 本文主要介绍了IP服务特点,头部结构,IP分片知识,并用tcpdump抓取数据包,来观察IP数据报传送过程中IP的格式,以及分片的过程. IP头部信息:IP头部信息出现在每个IP数据报中,用于指定IP通信的源端IP地址.目的端IP地址,知道IP分片和重组. IP数据报的路由和转发:IP数据报的路由和转发发生在出目标机器之外的所有主机和路由器上.他们决定数据报是否应该转发以及如何转发. IP服务的特点 IP协议是TCP/IP协议族的动力,它为上层协议提供无状态.无连接.不可靠的

Apache + Tomcat集群配置详解 (1)

一.软件准备 Apache 2.2 : http://httpd.apache.org/download.cgi,下载msi安装程序,选择no ssl版本 Tomcat 6.0 : http://tomcat.apache.org/download-60.cgi,下载Tomcat 6.0.18 zip文件 注意:由于Apache和Tomcat项目与集群相关的模块均处于持续发展和优化过程中,因此笔者不保证本文配置方法对所有Apache和Tomcat版本均适用. 二.软件安装 把Apache安装为运

Apache + Tomcat集群配置详解

Apache + Tomcat集群配置详解 一.软件准备 Apache 2.2 : http://httpd.apache.org/download.cgi,下载msi安装程序,选择no ssl版本 Tomcat 6.0 : http://tomcat.apache.org/download-60.cgi,下载Tomcat 6.0.18 zip文件 注意:由于Apache和Tomcat项目与集群相关的模块均处于持续发展和优化过程中,因此笔者不保证本文配置方法对所有Apache和Tomcat版本均

【转】Apache 的 httpd.conf 配置详解

Apache 的 httpd.conf 配置详解 原文链接 http://www.php100.com/html/webkaifa/apache/2009/0418/1192.html ServerRoot /usr/local ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerR oot定义的路径之下. ScoreBoardFile /var/run

http协议之报文详解

用于HTTP协议交互的信息被称为HTTP报文.请求端(客户端)的http报文叫做请求报文,响应端的叫做响应报文. HTTP报文本身是由多行(用CR+LF作为换行符)数据构成的字符串文本. HTTP报文大致可以分为报文首部和报文主体两块.两者由最初出现的空行(CR+LF)来划分.通常,并不一定要有报文主体. 参考: 1. HTTP协议之报文详解 2. 图解http