• HTTP协议(待完善)


    注:以物流做形象类比以便更好理解HTTP协议

    一、HTTP是什么?

    HTTP的定义

    HTTP( Hypertext Transfer Protocol, 超文本传输协议) 是在万维网上进行通信时
    所使用 的协议方案。
    HTTP协议组成

    报文

    定义

    HTTP报文就是数据交换标准和文本数据的集合。好比物流里的包裹。

    组成

    start line(起始行)

    Request-URL(请求URL):所请求资源,或者URL路径组件的完整URL。

    Method(请求方法):客户端希望服务器对请求资源执行的动作

    Status Code(状态码):这三位数字描述了请求过程中所发生的情况。

    Reson-phrase(原因短语):跟在状态码后面,为人提供对状态的解释

    version(版本):报文所使用的HTTP版本

    header(首部)

     Accept首部

    顾名思义,Accept为客户端提供了将其自己喜好方式和能力传递给服务器端。服务器根据Accept返回对应的信息,避免了服务器传输一些多余的信息。

    Accept:告诉服务器能够发送哪些媒体类型

    Accept-charset:告诉服务器能够发送哪些字符集

    Accept-Encoding:告诉服务器能够发送哪些编码方式

    Accept-Language:告诉服务器可以发送那些语言

    TE:告诉服务器可以使用哪些扩展的传输编码

    通用缓存首部

    Cache-Control:用于随报文传送缓存指示

    pragma:另一种随报文传送指示的方式

    通用首部

    Connetion:允许客户端和服务器端指定与请求

    body(主体)

    HTTP通信
    Connect
    (a)用户URL拨号:输入页面地址,点击超链接,点击提交按钮
    (b) 浏览器从 URL 中解析出服务器的主机名;
    (c) 浏览器通过DNS将服务器的主机名转换成服务器的 IP 地址;
    (d) 浏览器将端口 号(如果有的话) 从 URL 中解析出来;

    (e)浏览器发起到这个IP地址端口 80的连接

    (f)服务器监视端口监听客户端电脑的请求,建立握手
    Request

    客户端建立TCP管道浏览器向服务器发送一条HTTP GET报文

    Response
    浏览器从服务器读取HTTP响应报文
    Close
    浏览器关闭连接

    认识客户端和服务器端

    客户端

    发送 HTTP 请求

    请求操作

    把服务器返回的HTTML内容显示在客户端上

    服务器端

    Web 服务器 是 Web 资 源( Web resource) 的宿主

    Web资源包括静态文件和动态数据

    静态文件:

     文 本文 件、 HTML 文 件、 微软的 Word 文 件、 Adobe 的 Acrobat 文 件、
    JPEG 图片文件、 AVI 电影文件, 或所有其他你能够想到的格式。

    动态数据:软件程序,数据库动态数据
    Web资源对应的媒体类型(MIME 类 型)

    常见的MIME类型(通用型):
    超文本标记语言文本 .html text/html
    xml文档 .xml text/xml
    XHTML文档 .xhtml application/xhtml+xml
    普通文本 .txt text/plain
    RTF文本 .rtf application/rtf
    PDF文档 .pdf application/pdf
    Microsoft Word文件 .word application/msword
    PNG图像 .png image/png
    GIF图形 .gif image/gif
    JPEG图形 .jpeg,.jpg image/jpeg
    au声音文件 .au audio/basic
    MIDI音乐文件 mid,.midi audio/midi,audio/x-midi
    RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio
    MPEG文件 .mpg,.mpeg video/mpeg
    AVI文件 .avi video/x-msvideo
    GZIP文件 .gz application/x-gzip
    TAR文件 .tar application/x-tar
    任意的二进制数据 application/octet-stream
    用于WAP服务器的MIME类型有:
    MRP文件(国内普遍的手机)
    .mrp application/octet-stream
    IPA文件(IPHONE)
    .ipa application/iphone-package-archive
      
    .deb application/x-debian-package-archive
    APK文件(安卓系统)
    .apk application/vnd.android.package-archive
    CAB文件(Windows Mobile)
    .cab application/vnd.cab-com-archive
    XAP文件(Windows Phone 7)
    .xap application/x-silverlight-app
    SIS文件(symbian平台/S60V1)
    .sis application/vnd.symbian.install-archive *(下有)
    SISX文件(symbian平台/S60V3/V5)
    .sisx application/vnd.symbian.epoc/x-sisx-app
    JAR、JAD文件(JAVA平台手机通用格式)
    .jar .jad下面有

    完整的MIME类型参考:http://www.w3school.com.cn/media/media_mimeref.asp

    URI两种形式:URL和URN

    URI:服务器资源名被称为统一资源 标识符( Uniform Resource Identifier, URI),每个资源都对应唯一的标识(URI);
    URL:统一资源 定位符( URL) 是资源标识符最常见的形式。
    URL三个部分
    Scheme:访问资源所使用的协议类型。通常是HTTP协议。
    服务器地址:一般指的是服务器的域名或者是IP地址
    资源地址:资源路径+资源名
    URN:URI 的第二种形式就是统一资源 名 ( URN)
    HTTP 方法(HTTP method)
    HTTP方法 描述
    GET: 从服务器向客户端发送命名资源
    PUT: 将来自 客户端的数据存储到一个命名的服务器资源中去
    DELETE: 从服务器中删除命名资源
    POST: 将客户端数据发送到一个服务器网关应用程序
    HEAD: 仅发送命名资源响应中的 HTTP 首部
    返回状态码
    HTTP状态码 描述
    200 OK。 文档正确返回
    302 Redirect(重定向)。 到其他地方去获取资源
    404 Not Found(没找到)。 无法找到这个资源

    请求报文
    HTTP 报文包括以下三个部分。


    • 主体
    GET /tools.html HTTP/1.0-------------------------• 起始行(请求方法/请求资源/使用的协议/协议版本)

    • 首部字段
    User-agent: Mozilla/4.75 [en] (Win98; U)
    Host: www.joes-hardware.com
    Accept: text/html, image/gif, image/jpeg
    Accept-language: en

















  • 相关阅读:
    洛谷 P2486 [SDOI2011]染色 树链剖分
    js 随机打乱数组
    js 中concat()和slice()方法介绍
    encodeURIComponent() 函数的使用
    mysql中LOCATE和CASE WHEN...THEN...ELSE...END结合用法
    Java多态的理解
    JQuery UI完成自动匹配的的下拉列表步骤
    marquee 标签的使用介绍
    orcale数据恢复
    sql中replace的用法
  • 原文地址:https://www.cnblogs.com/sunxi/p/4360731.html
Copyright © 2020-2023  润新知