zoukankan      html  css  js  c++  java
  • HTTP协议

      HTTP协议是基于“请求与响应”模式的无状态、应用层的协议,常基于TCP。

      HTTP请求分为三个部分:请求行、消息报头、请求正文。在接收和接收请求消息之后,服务器返回一个HTTP响应消息,包括三个部分:状态行、消息报头、响应正文。下面分别说这三个部分。

        请求行的格式是“请求方式”“资源路径”“HTTP版本号”,一个例子:GET /test.html HTTP/1.1。请求的方式可以是“GET”,“POST”,“PUT”,“DELETE”,“OPTIONS”,“TRACE”,“HEAD”。(现在大部分框架是基于“GET”和“POST”,不过现在也有框架是根据HTTP协议的初衷来做的,在哪里看到的忘记了...)。

        状态行的格式是“HTTP版本号”“状态号”“原因描述”,一个例子:HTTP/1.1 200 OK。

        普通报头中,“Cache-Control”用来指定缓存指令(各个消息之间独立)。请求的缓存指令包括:no-cache、no-store、max-age、max-stale、min-fresh、only-if-cache。响应时的缓存指令包括:public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age、s-maxage。“Date”域用来表示消息产生的时间。“Connection”可以指定连接的类型。至于具体的值是什么意思,百度一下就可以了(google被墙了)。

        请求报头中,“Accept”指定客户端接收那些类型的数据,例如Accept:image/gif表示结构gif格式的图片资源。“Accetp-Chareset”用于指定客户端的字符集。“Accept-Encoding”指定了可接受的内容编码。“Accpte-Language”指定了一种自然语言。“Authorization”用来证明有权限访问某个资源。“Host”指定了ip和端口。“User-Agent”表明可以将浏览器、操作系统信息告诉服务器。

        响应报头中,“Location”用于重定向接受者到一个新的位置(常用在更换域名的时候)。“Server”提供了服务器的一些信息。

        实体报头定义了实体正文和请求所标识的资源的元信息。其中“Content-Encoding”指示了已经被应用到实体正文的附加内容的编码,比如压缩过的可能要用“gzip”。“Content-language”指出所用的自然语言。“Content-Length”指定正文的长度。“Content-Type”指定正文的媒体形式,比如“Content-Type:text/html;charset=GB2312”。“Expires”给出响应过期的时间和日期(可以用这个来设置是否需要缓存)。可以用telnet来查看上面介绍的这些内容。

    -----------------------

    个人理解,欢迎拍砖。

  • 相关阅读:
    WSP部署错误—SharePoint管理框架中的对象“SPSolutionLanguagePack Name=0”依赖其他不存在的对象
    Elevate Permissions To Modify User Profile
    Error with Stsadm CommandObject reference not set to an instance of an object
    ASP.NET MVC3添加Controller时没有Scaffolding options
    测试使用Windows Live Writer写日志
    配置TFS 2010出现错误—SQL Server 登录的安全标识符(SID)与某个指定的域或工作组帐户冲突
    使用ADO.NET DbContext Generator出现错误—Unable to locate file
    CSS
    HTML DIV标签
    数据库
  • 原文地址:https://www.cnblogs.com/ggzwtj/p/2116635.html
Copyright © 2011-2022 走看看