http协议相关介绍

来源:互联网 发布:异次元的软件世界 编辑:程序博客网 时间:2024/06/15 00:31
HTTP协议:
    规定客户端和服务器如何进行交互
    基于TCP/IP协议的应用层协议
    
    HTTP协议基于请求响应模型
    一次请求对应一次响应
    请求只能由客户端发出,服务器只能被动的等待请求做出响应
    
    1.0和1.1的区别    
HTTP请求
    请求行
        GET /books/java.html HTTP/1.1
        请求方式
           七种请求方式: POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT
           真正使用的时候:POST/GET
           GET请求方式和POST请求区别在于请求参数在传递的过程中方式不同
           如果是GET提交,请求参数将会附加在请求的URL后面作为请求地址的一部分带到服务器端,可以传输的数据大小有限制一般不允许超过1K.
           如果是POST提交,请求参数将会在http请求的实体内容中进行传输,这种方式传输的数据没有大小限制.
           
           利用form表单提交数据时,form表明明确的声明要用POST提交,这是请求参数就是POST提交
           除此以外所有方式的请求参数都是GET提交
          
        请求的资源部分的名称
        所遵循的协议版本
    若干请求头
        Accept: */*    
        Accept-Charset: ISO-8859-1
        Accept-Encoding: gzip,compress
        Accept-Language: en-us,zh-cn
        Host: www.it315.org:80
        If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT
        Referer: http://www.it315.org/index.jsp
        User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
        Cookie
        Connection: close/Keep-Alive   
        Date: Tue, 11 Jul 2000 18:23:51 GMT   

    实体内容      


HTTP响应
    状态行
        HTTP/1.1 200 OK
        协议版本
        状态码--用来表示本次请求的处理结果的代码
            200
            302
            304/307
            404
            500

    若干响应头
        Location: http://www.it315.org/index.jsp
        Server:apache tomcat
        Content-Encoding: gzip
        Content-Length: 80
        Content-Language: zh-cn
        Content-Type: text/html; charset=GB2312
        Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT
        Refresh: 1;url=http://www.it315.org
        Content-Disposition: attachment;filename=aaa.zip
        Transfer-Encoding: chunked  
        Set-Cookie:SS=Q0=5Lb_nQ; path=/search
        ETag: W/"83794-1208174400000"
        Expires: -1 ---- 通知浏览器是否缓存当前资源 ,如果这个头的值是一个以毫秒为单位值就是通知浏览器缓存资源到指定的时间点,如果值是0或-1则是通知浏览器禁止缓存
        Cache-Control: no-cache  -- 通知浏览器是否缓存资源
        Pragma: no-cache    -- 通知浏览器是否缓存资源
            之所以三个头是一个功能,是因为历史原因.不同的浏览器对这三个头支持的不同,一般来说这三个头要同时使用确保不同的浏览器都能实现控制缓存的功能
            
        Connection: close/Keep-Alive   
        Date: Tue, 11 Jul 2000 18:23:51 GMT

    
    实体内容
原创粉丝点击