zoukankan      html  css  js  c++  java
  • HTTP详解

    定义:Http是计算机通过网络进行通讯的协议,http客户(浏览器)可以向http服务器(服务器)请求信息和服务,当前版本是1.1

    特点:1.无状态连接,意味着浏览器发出请求,服务器返回数据后,连接立即关闭

       2.请求(request)/应答(response)模型

       3.使用内容类型,即返回的数据都有对应的类型,为MIME中的一种,包括html文件,图片等

    步骤:

    1.建立TCP连接

      首先浏览器与服务器建立连接,通过TCP完成(注:TCP与IP构成Internet,这就是著名的TCP/IP协议,Http比TCP更高层,根据规则,低层连接建立后才能建立高层连接)

      一般TCP的端口号是80;通过三次握手形成会话

    2.浏览器发送请求命令

      eg:GET/sample/hello.jsp HTTP/1.1

      请求类型 url地址 协议版本

    3.浏览器发送请求头信息

      发送完请求命令后,还要发送一些别的信息,最后发送空白行,表示结束

      请求头信息包括浏览器支持语言,浏览器支持编码,支持的MIME类型等。。。详情:http://jingyan.baidu.com/article/375c8e19770f0e25f2a22900.html

    4.服务器应答

      接收到来自浏览器的请求后,服务器应答

      eg: HTTP/1.1 200 OK

      应答的第一部分是协议的版本号和应答状态码

      应答码大全:http://www.cnblogs.com/lxinxuan/archive/2009/10/22/1588053.html

    5.服务器发送应答头信息

      服务器发送自己的信息,同样,以空白行结束

    6.服务器发送数据

      服务器会按照应答头信息的格式发送数据

    7.关闭TCP

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

    详细解析:

    HTTP请求格式(第2,第3步)

    下面是一个HTTP请求(发送数据块)的例子:

    GET/sample.jspHTTP/1.1          对应第2步:请求类型 url地址 http协议类型

    Accept:image/gif.image/jpeg,*/*  对应第3步:请求头信息

    Accept-Language:zh-cn

    Connection:Keep-Alive

    Host:localhost

    User-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)

    Accept-Encoding:gzip,deflate

                        以空白行结束

    username=jinqiao&password=1234  请求正文

    HTTP应答(第):

    应答实例:

    HTTP/1.1 200 OK          对应第4步:版本号和状态码
    Server:Apache Tomcat/5.0.12     对应第5步:应答头信息
    Date:Mon,6Oct2003 13:23:42 GMT
    Content-Length:112
                        以空白行结束
    <html>                 对应第6步,发送数据
    <head>
    <title>HTTP响应示例<title>
    </head>
    <body>
    Hello HTTP!
    </body>

    </html>

    request代码块常用属性详解:

    Accept                     客户端可以接受的内容类型               text/html, application/xml

    Accept-charset         浏览器可接受的字符编码集                iso-8859-5

    Accept-language      浏览器可接受的语言                        zh-cn

    Accept-encoding      浏览器可接受的的服务端发回的           gzip,deflate

               内容压缩类型

    Connection             是否需要持久连接                            Keep-Alive

    Content-Type          当前请求类型              application/x-www-form-urlencoded

    Content-Length       请求长度                                        348

    Host                       指定请求对象的域名和端口号              www.baidu.con:80

    User-Agent             用户信息(客户端系统,版本等)        Mozila/4.0(compatible;MSIE5.01;Window NT5.0)

    Date                      请求发送的时间                               Tue, 15 Nov 2010 08:12:31 GMT

    Authorization          HTTP请求的授权信息                        Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

    Cookie                    请求发送时,会将该域名下所有         Version=1; Skin=new;

               cookie发送给web服务器

    Cache-Control       指定请求和响应遵循的缓存机制          no-cache

     

     
  • 相关阅读:
    ThinkPad R400 windows 2008 下网卡、蓝牙驱动程序安装过程记录
    google 小百货工具
    今天发现数据库到处都有,还是学习一种比较好
    今天玩玩Android == 了解一下
    p 同学推荐的 书 读完了 == 感慨颇深,霍霍
    new confirm and new idea == need time
    娑罗双树,半枯半荣,娑罗花开,盛者必衰
    使用VC6.0 连接PostgreSQL数据库
    vc6操作PostgreSQL 测试下异步通知接口
    准备这几天看的内容
  • 原文地址:https://www.cnblogs.com/yanze/p/6004030.html
Copyright © 2011-2022 走看看