zoukankan      html  css  js  c++  java
  • HTTP权威指南笔记-1.概述

    1.1 通讯

      Web内容是存储在服务器上的,Web服务所使用的是HTTP协议,所以经常称为HTTP服务器。通讯过程为客户端(正常我们所使用的)发出请求,服务端根据客户端的HTTP请求响应相应数据,这就是基本的HTTP通讯。

    1.2 传输内容与附加类型MIME

      客户端向服务端获取内容有N多种类型,如:Word、JPEG、AVI、HTML等等上千种。

      在传输过程中为分辨传输内容类型,Web服务器会为所有HTTP对象数据附加一个MIME类型。当Web浏览器(客户端)向服务器获取一个对象时,会根据MIME类型标记判断如何处理该对象。

      MIME类型是一种为本标记,表示一种主要的对象类型和一个特定的子类型,中间由一个斜杠分隔。

      例:HTML格式的文本文档用 text/html类型来标记

        ASCII的文本文档由text/plain类型来标记

        JPEG版本的图片为image/jpeg类型

    1.3 URI、URL、URN

      URI(Uniform Resource Identity):统一资源标识符,是服务器上每个资源的具体名字,URL就就是这个资源的唯一标识并定位信息资源。

      URL(Uniform Resource Location):统一资源定位符,URL描述了特定服务器上的某一资源的特定位置,它们可以明确说明如何从一个精确、固定位置获取资源。

      例:http://www.baidu.com/images/Logo.gif  获取百度站点的Logo图标(这个URL我瞎写的,举例说明为主,大家懂就好)

      URL各部分类型含义:

      • URL的第一部分为方案,说明了访问资源所使用的协议类型,这部分通常为HTTP
      • 第二部分为服务器的因特网网址(服务器名称)上例中:www.baidu.com
      • 其余部分制定了某个资源的具体路径位置

      URN(Uniform Resource Name):统一资源名,URN是作为特定内容的唯一名称来使用,与资源的所在地无关。

    1.4 事物

      一个HTTP事物由一条请求命令和一个响应结果所组成。这种通信是通过HTTP报文的格式化数据块进行的。

      方法:

      • GET
      • PUT
      • POST
      • DELETE
      • HEAD

      状态码:每条HTTP响应报文返回时都会携带一个状态码,标识响应状态

      • 200: OK,正确返回
      • 302:Redirect,到其他地方寻找资源
      • 404:Not Found,无法找到资源

    1.5 报文

      报文是有一行一行的简单字符串组成的,不是二进制代码

      从客户端发往服务器的为请求报文,从服务器发往客户端的为响应报文

      HTTP报文包括三部分:

    • 起始行         请求报文:说明要做什么;响应报文:说明什么情况
    • 首部字段          可有可无,有的一般含有MIME及长度等
    • 主体            可有可无,可以为客户端或服务端相互传输的各类型数据

    1.6 连接

      HTTP为应用层协议,不会关心通讯细节,具体细节有传输层TCP/IP解决

      备注,各层含义,由上至下:

      1. HTTP                            应用层
      2. TCP                          传输层
      3. IP                                 网络层
      4. 网络特有的链路接口          数据链路层
      5. 物理网络硬件             物理层 

      在HTTP客户端向服务器发送报文之前需要IP地址极端口号在客户端与服务器建立TCP/IP连接,所以需要在URL内解析到服务器的IP及端口号(目的不同可能端口号也不相同)

      例1:URL:http//:www.baidu.com:80/index.html

      例2:URL:http//:192.168.1.3:80/index.html

      从上例可以看出:例1没有采用数字形式IP,使用的是文本型域名,或可称为主机名

              例2中采用数字IP

              例1、例2得端口号都是默认80(默认80可不写)

      连接及通讯其完整过程为:

    1. 浏览器从URL中获取IP或主机名(获取后转换为IP地址)及端口号
    2. 建立一条与Web服务器连接的TCP连接
    3. 浏览器向服务器发送一条HTTP请求报文
    4. 服务器向客户端发送一条HTTP回应报文
    5. 关闭连接,浏览器显示回应内容

    1.7 协议版本

    1. HTTP/0.9                    古老,设计缺陷多,只支持GET,不支持首部,MIME等
    2. HTTP/1.0                    广泛应用版本,含有基本功能
    3. HTTP/1.0+                 广泛流行,非正式版本
    4. HTTP/1.1                      
    5. HTTP-NG(又名2.0)      

    1.8 Web的结构组件

      1.代理

        代理位于客户端与服务器之间,接收客户端所有HTTP请求并将这些请求转发至服务器,代理可对请求和响应进行过滤动作,如屏蔽视频,病毒检测等

      2.缓存

        在代理传送常用文档时,缓存会将该文档储存起来,在客户端再次请求同一文档时可以享受缓存私有副本所提供的服务

      3.网关

        网关会将其他协议类型的请求封装成HTTP协议报文,发送给客户端

      4.隧道

        通过隧道传送文件及内容,可对其加密

      5.Agent代理

        各类浏览器

    以上。

    后续会继续做笔记~~

      

  • 相关阅读:
    Python 集合 深浅copy
    python基础(基础数据类型)
    python基础一
    Asp.net获取网站绝对路径的几种方法
    Ajax请求被缓存的几种处理方式
    说说字符编码
    linux学习记录
    mysql基础
    【Android开发入门】关于ListView中按钮监听器设置的解决方案
    线程同步小结
  • 原文地址:https://www.cnblogs.com/Khan-Sadas/p/6136934.html
Copyright © 2011-2022 走看看