HTTP小结

来源:互联网 发布:数据挖掘 r语言实战 编辑:程序博客网 时间:2024/05/29 16:01
一、http协议概述
    1.OSI和TCP/IP的体系结构
        (1)OSi七层体系结构:应用层、表示层、会话层、运输层、网络层、数据链路层、物理层.
        (2)TCP/IP体系结构:应用层、运输层、网际层、网络接口层.
    2.http协议简介
        * Http(hypertext transfer protocol 超文本传输协议),是tcp/ip协议的一个应用层协议,
              用于定义web浏览器与web服务器之间交换数据的过程.
        * 版本:* HTTP1.0  客户端与web服务器建立连接后,只能获得一个web资源.
              * HTTP1.1 允许客户端与web服务器建立连接后,在一个连接上获取多个web资源.          
    3.http协议主要特点          
        * 支持客户/服务器模式.
        * 简单快速:客户请求服务时,只需传送请求方法和路径,请求方法主要有GET,HEAD,POST.
        * 灵活:http允许传输任意类型的数据对象,正在传输的类型 由Content-type标记.
        * 无连接:无连接的含义是限制每次连接只处理一个请求,服务器处理完请求后,并收到客户的应答后,就断开连接,节省时间.
        * 无状态:HTTP协议是无状态协议。
                无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,
                这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。    
              
    4.URL详解
        URL是一种特殊类型的uri,包含了用于查找某个资源的足够信息.
        格式如下:http://host[:port][abs_path]          
        例如:http://www.itcast.com:80/beeradvice/select/beer1.html
            *http://    采用那种协议进行本次网络访问.
            *www.itcast.com        服务器的唯一域名,映射到一个IP地址.
            *80        断口号,访问服务在服务器端绑定的断口号,若不指定,http协议默认断口为80.
            *beeradvice/select/        路径,一般用来表示主机上的一个目录或文件地址.
            *beer1.html        资源名称,资源是本地计算机上的文件.
二、HTTP请求
    定义:客户端连接上服务器后,向服务器请求某个web资源,称为客户端向服务器发送了一个HTTP请求.
    分类:请求行、多个请求头(或称消息头)、请求体(实体内容,与请求头隔一个空行).
    1.请求行:描述客户端的请求方式、请求资源的名称,以及使用的HTTP协议版本号.        
            格式:请求方法   资源路径   协议
            例如:GET /day04/1.html  HTTP/1.1
            请求方式:常用的有GET POST. 其它的还有HEAD,OPRIONS,PUT等
            GET与POST区别主要表现在数据传递上.
            GET请求方式:请求内容追加在URL之后,而URL的长度有限制1k
            POST请求方式:可以在请求的请求体(实体内容)中向服务器发送数据,传送的数据量无限制.          
    2.请求头
            *Accept:浏览器通知服务器,浏览器可以接受的数据类型.
            *Accept-charset:浏览器通知服务器,浏览器支持的字符集.
            *Accept-Encoding:浏览器通知服务器,浏览器支持的压缩格式.
            *Accept-Language:浏览器通知服务器,浏览器支持的语言环境.
            *Host:浏览器通知服务器,浏览器访问的服务器的主机名.
            *If-Modified-since:浏览器询问服务器,浏览器本地是否修改过.
            *Authorization:请求报头域主要用于证明客户端有权查看某个资源.
                当浏览器访问一个页面时,如果收到服务器的响应代码为401(未授权),
                可以发送一个包含Authorization请求报头域的请求,要求服务器对其进行验证。
            *Referer:浏览器通知服务器,浏览器当前页来自哪个页面.(常用于防盗链)
            *user-agent:浏览器通知服务器,浏览器端的基本信息.
            *connection:浏览器保持服务器,是否保持连接状态.
            *Date:浏览器通知服务器,浏览器端的时间.
    3.请求体
        请求体与请求头之间存在一个空行
三、HTTP响应
    定义:一个http响应代表服务器向客户端回送的数据.
    分类:响应行(或状态行)、响应头(或消息头)、响应体(实体内容)
    1.响应行
        响应行用于描述服务器对请求的处理结果.
        格式:协议  状态码  状态信息
        例如:HTTP1.1 200 OK
        状态码:
            *1xx:服务器通知浏览器,服务器还没有处理完成.
            *2xx:服务器通知浏览器,服务器已经处理完成.
                *200:处理完成.
            *3xx:服务器通知浏览器,服务器还需要浏览器进一步处理来完成整个操作.
                *302:服务器通知浏览器需要进一步操作,从http响应头(location)获得进一步操作的资源.
                *304:服务器通知浏览器当前资源没有修改,从缓存中获取.
            *4xx:服务器通知浏览器,浏览器发送数据有误.
                *400 Bad Request :客户端请求有语法错误,不能被服务器所理解.
                *401 Unauthorized:没有权限.
                *403 Forbidden:服务器收到请求,但是拒绝提供服务.
                *404 Not Found:找不到资源.
            *5xx:服务器通知浏览器,服务器出现异常.
                *500 Internal Server Error:服务器异常.
                *503 Server Unavailable:服务器未响应.
    2.响应头:  可以称为消息头,主要用于描述服务器的基本信息,以及数据的描述,
            服务器通过这些数据的描述信息,可以通知客户端如何处理等一会它回送的数据.
    3.响应体:服务器响应浏览器的所有的内容.与响应体之间要有一个空行.
       

原创粉丝点击