zoukankan      html  css  js  c++  java
  • URL的语法及HTTP报文

    大多数URL方案的URL语法都建立在这个由9部分构成的通用格式上:

    scheme://user:password@host:port/path;params?query#frag

    方案:http或者https

    主机与端口:http://www.nihao.com:80/index.html

    用户名和密码:ftp://joe:123@ftp.edu/pub    http://joe:123@www.nihao.com

    路径:http://www.nihao.com/image/1.jpg

    这个URL中的路径为/image/1.jpg, 路径是服务器定位资源时所需的信息,可以用字符“/”将

    HTTPURL的路径组件划分成一些路径段(path segment),每个路径段都有自己的参数(param)

    组件

    参数:很多时候负责解析URL的应用程序需要这些协议参数来访问资源,否则另一端的服务器可

    能就不会为请求提供服务,或者更糟糕提供错误服务,为了正确与服务器进行交互,就得向服务

    器上的应用程序提供它们所需的输入参数 比如:

    ftp://prep.edu/pub/gnu;type=d

    http://www.joes.com/hammers;sale=false/index.html;graphics=true

    HTTP URL的路径组件可以分为若干路径段,每段都可以有自己的参数

    查询字符串:很多资源,比如数据库服务,都可以通过提问题或查询来缩小所请求资源类型范围

    假设joe的五金店在数据库中维护着一个未售货物的清单,并可以通过清单进行查询,以判断产品

    是否有货,就可以用下面的URL来查询web数据库网关,看看编号为12731的条目是否有货:

    http://www.joes.com/inventory-check.cgi?item=12731

    ?右边的内容被称为查询(query)组件,URL的查询组件和标识网关资源的URL路径组件一起被发

    送给网关资源,基本上可以将网关当作访问其他应用程序的访问点

    查询可以有多个:http://www.joes.com/inventory-check.cgi?item=12731&color=blue

    片段:有些资源类型比如HTML除了资源级外,还可以做进一步的划分,比如对一个带有章节的

    大型文档来说,为了引用部分资源或资源的一个片段,URL支持使用片段(frag)组件来表示一个

    资源内部的片段,比如URL可以指向HTML文档中一个特定的图片或小节

    片段挂在URL的右手边,最前面有一个字符“#”

    HTTP服务器通常只处理整个对象,而不是对象的片段,客户端不能将片段传送给服务器,浏览器

    从服务器获得了整个资源之后,会根据片段来显示你感兴趣的那部分资源

    HTTP报文由三个部分组成:对报文进行描述的起始行(start line) ,包含属性的首部(header)

    块,以及可选的包含数据的主体(body)部分

    报文的主体(或者就称为主体)是一个可选的数据块,可以包含文本或二进制数据,也可以为空

    上图Content-Type说明主体是纯文本文档, Content-Length说明主体有多大19个字节

    所有HTTP报文都可以分为两类:请求报文(request message)和响应报文(response message)

    请求报文的格式:

        <method> <request-URL> <version>

        <headers>

        <entity-body>

    响应报文的格式:

        <version> <status> <reason-phrase>

        <headers>

        <entity-body>

  • 相关阅读:
    U盘PE系统下安装WIN2003和WINXP的方法(非GHOST版)
    自己做U盘急救杀毒
    Windows Server 2003 SP2 企业版 ISO 下载 629M
    解决开机关机慢问题
    一般处理程序
    [转]iframe自适应高度详解(希望对大家有用)非常经典,非同凡响
    ie6下position fixed的失效bug
    php文件上传MAX_FILE_SIZE不起作用的问题
    IE6测试网页显示空白页面
    自己写的面向过程php验证码
  • 原文地址:https://www.cnblogs.com/linuxboke/p/5574092.html
Copyright © 2011-2022 走看看