《HTTP权威指南》学习笔记(一)

《HTTP权威指南》学习笔记(一)


 
第一部分 HTTP:Web的基础(描述Web的基础构件与HTTP的核心技术)

第1章 HTTP概述
内容:
    1.服务器和客户端;
    2.资源;
    3.事务;
    4.报文;
    HTTP报文包括三个部分:
        起始行:报文的第一行,在请求报文中用来说明要做什么,在响应报文中说明出现了什么情况。
        首部字段:起始行后面有零个或多个首部字段。每个首部字段都包含一个名字和一个值,为便于解析,两者间用冒号(:)分隔,以一个空行结束
        主体:空行之后就是可选的报文主体,其中包含所有类型的数据。请求主体中包括了要发送给web服务器的数据;
                   响应主体中装载了要返回给客户端的数据。

    5.连接;

    浏览器连接处理:
    a) 浏览器从URL中解析出服务器的主机名;
    b) 浏览器将服务器的主机名转换成服务器的IP地址;
    c) 浏览器将端口号从URL中解析出来;
    d) 浏览器建立一条与Web服务器的TCP连接;
    e) 浏览器向服务器发送一条HTTP请求报文;
    f)  服务器向浏览器回送一条HTTP响应报文;
    g) 关闭连接,浏览器显示文档。
       
    6.协议;
    7.web组件;
        
        代理、缓存、网关、隧道、Agent代理
        
    8.其他。



第2章 URL与资源
内容:
    1.URL的组成
    2.URL的字符及编码

URL分以下三部分:
第一部分(http):URL方案。告知web客户端怎样访问资源。
第二部分(www.ifeng.com):服务器的位置。告知web客户端资源位于何处。
第三部分(/news/index.html):资源路径。路径说明了请求的是服务器上哪个特定的本地资源。
例子:http://www.ifeng.com/news/index.html

 
图1 URL的组成

通用URL组件:
        通用URL组件(由9部分构成的通用格式):<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>
                                                             方案; 用户; 密码; 主机; 端口; 路径; 参数; 查询; 片段。
URL最重要的三个部分是:方案、主机、路径



第3章 HTTP报文
内容:
    1.报文的组成及细节

报文的组成:HTTP报文是简单的格式化数据块。每条报文都包含一条来自客户端的请求,或者一条来自服务器的响应。
报文由三个部分组成:起始行(start line)==>对报文进行描述;
                                    首部(header)==>包含属性的部分;
                                    主体(body)==>可选的,包含数据的部分;
 
 
图2 HTTP报文格式

注:此处可以类比BMP图像的数据组成;

 
图3 HTTP事务过程


HTTP报文的类型:请求报文(request message)、响应报文(response message)。
                               请求报文回向Web服务器请求一个动作,响应报文会将请求的结果返回给客户端。

 
图4 请求报文、响应报文的格式


请求报文的格式:
<method> <request-URL> <version>
<headers>

<entity-body>


<method> ==>方法:客户端希望服务器对资源执行的动作。比如:GET、POST、HEAD等;
<request-URL> ==>请求地址:命名了所请求的资源,或者URL路径组件的完整URL。
<version> ==>版本:报文所使用的HTTP版本[ 例子:HTTP/<主要版本号>.<次要版本号> ]。
<headers> ==>首部:可以有零个或多个首部,每个首部都包含一个名字,后面跟一个冒号(:),然后是一个可选的空格,
                                   接着是一个值,最后是一个CRLF。首部是由一个空行(CRLF)结束的,表示首部列表的结束和
                                   实体主体部分的开始。
<entity-body> ==>实体的主体部分:包含一个由任意数据组成的数据块。并不是所有的报文都包含实体的主体部分。


响应报文的格式:
<version> <status> <reason-phrase>
<headers>

<entity-body>


<status> ==>状态码:用三位数字描述了请求过程中所发生的情况。每个状态码的第一位数字都用于描述状态的一般类别。
<reason-phrase> ==>原因短语:数字状态码的可读版本,包含行终止序列之前的所有文本。





第4章 连接管理
内容:
        1. HTTP连接的下层保障TCP连接,TCP的性能;
        2. HTTP连接的处理及提高HTTP性能的方法;
        3. HTTP连接的关闭;


 
扩展阅读及思考
注:
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

光明矢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值