Http权威指南(一)---读书笔记

 概述

最简单的的资源是web服务器文件系统中的静态文件。当然可以上动态,但要经过网关?(不确定) 见图:

 

URI(uniform Resource Identifier) 同一资源标识符:类比邮政地址

URI可以有两种格式 1.URL(同一资源定位符) 2.URN

(1) URL:分为三个部分,1.协议(http://)2.地址(www.baidu.com)3.特定资源:/1.pic

(2) URN:开发阶段

常见的HTTP方法:

   

协议格式

    

  注:一个“web页面”通常不是单个资源,而是一组资源的集合。

web结构组件

(1)代理:
    

(2)缓存或称代理缓存:
    

(3)网关,网关是一种特殊的服务器,作为其他服务器的中间实体使用:
    

(4)隧道,隧道建立后,会在两条连接之间对原始数据进行盲转发:
    

(5)Agent代理,web浏览器就是一个agent代理:
    

URL和资源

URL组成

    <scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag> ---(1)

    

     注:上图是一个常见URL组成。下面是(1)各个组件的说明:
    

    分组件注意点:
    (1)http://大小写不敏感

    (2)URL上添加附件信息的情况:ftp://prep.ai.mit.edu/pub/gnu;type=d;graphics=true
    (3)包含查询字符串的情况:http://www.joes.../..check.cgi?item=1224
    (4)片段:http://www.joes..../tools.html#drills,注意web浏览器并不会将片段发送给服务器:
    
  

三种URL


    

    这边解释了将相对URL转为绝对URL的算法:

    (1)有一段HTML代码片段:
 

    (2)根据算法

    

      相应的具体描述:
 

URL使用的编码机制

    URL为了适应不同的编码,提供转义功能:

 
    注:保留部分用于特殊符号,如:%,#...

常见的web方案:

    (1)http:
       http://www.baidu.com,默认端口80
    (2)https:

       https://bing.com,默认端口443 (同http结构一致,区别在于提供端到端的加密机制)

    (3)mailto:E-main地址

       mach@163.com

    (4)ftp:

   ftp://<user>:<password>@<host>:<port>/<path>;<params>

    (5)rtsp,rtspu:Real Time Streaming Protocol

       rtsp/rtspu://<user>:<password>@<host>:<port>/<path>

    (6)file:

   file://Office/policies/fun.doc

    (7)news:注意,它们是位置无关的,意思是可以不依赖于一台的源服务器

   news:rec.arts.startrek
   (8)telent:

   telnet://<user>:<password>@<host>:<port>/ 默认端口23

HTTP报文

一个完整的简单的HTTP事物:

   

常见的HTTP方法:

 

    常见方法解析:
    (1)Get:安全方法(不对服务端的结果产生影响(特指一般)如果程序员想改变点什么...)
   

    (2)Head:安全方法,使用Head很重要的一点就是可以获取文件的长度
 

    (3)Put:上传文件
   

    (4)Post:协议交互一般使用Post
 

    (5)Trace:主要用于诊断
 
    (6)Options:询问当前服务器支持的类型

 

    (7)Delete: 删除,注意服务器可以不执行此操作

    

    (8)扩展方法:暂略

状态码:

    

    注:上图为状态码的简单分类

    部分状态码介绍:

    (1)100 Continue状态码:
  发生情况:客户端需要发送主体到服务器上,但不清楚服务器是否能解析该主体,所以客户端
         选择先发送一个协议给服务端,服务端如果接收到相应协议,就应该Respone给客户端。

    (2)关于300~399重定向状态码:

    

报文首部(头)

    一、通用首部 

    (1)信息:

    

    (2)缓存:

    

    二、请求首部

    (1)信息:

 

    (2)Accept:

    

    (3)条件请求:

    

    (4)安全请求:

    

    (4)代理请求:

    

    三、响应首部
    (1)信息性:

    

    (2)协商:

    

    (3)安全:

    

    四、实体首部

    (1)信息:

    

    (2)内容:

    

    (3)缓存:

    

祝:玩得愉快!
原文地址:https://www.cnblogs.com/hejianglin/p/5249134.html