zoukankan      html  css  js  c++  java
  • http协议简介

    http协议概念:

       http协议是Hyper Text  Transfer Protocol(超文本传输协议)的缩写,是从万维网(WWW: world wide web)服务器传送超文本到本地浏览器的传送协议。

    http工作原理:

      http协议工作于服务端-客户端(C/S)构架上,浏览器做为http客户端通过URI向http服务器即web服务器发送所有请求,web服务器接到请求后向客户端发送响应信息。

     http端口号:默认为80,可随意修改。                                       常见web服务器:apache服务器 tomcat服务器 IIS服务器(internet information services)等。

    http协议三点注意(特点):

    1、http是无连接的:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户端请求,并收到应答后,即断开连接。优点:节省传输时间。

    2、http媒体是独立的:也就是说服务器和客户端只要知道如何处理数据内容,任何类型的数据都可以通过http传输。客户端和服务器指定使用适合的MIME-type内容类型。

    3、http是无状态的:无状态是指http协议对事务的处理没有记忆能力。缺点:缺少状态就意味着如果后续处理需要前面的信息的话就需要重传,这样就可能导致每次传输的数据量增大。当然如果每次处理的内容如果不需要之前的信息,此时的应答就比较快。

    http消息结构:

      http使用统一资源标识符(Unform Resource Identifiers,URI)来传输数据和建立连接的。一旦建立连接后,数据就通过类似internet所使用邮件的格式[RFC5322]和多用途internet的邮件扩展(MIME)[RFC2045]来传送。

    GET请求实例:

    客户端请求构成:请求行、请求头部、空行、请求数据

    GET /hello.txt HTTP/1.1--------------------------------------------------------请求行:  格式→请求方法-空格-URI-空格-协议版本-回车符-换行符
    User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3---------------请求头部:格式→头部字段名-冒号-值-回车符-换行符
    Host: www.example.com----------------------------------------------------------
    请求头部:格式→头部字段名-冒号-值-回车符-换行符
    Accept-Language: en, mi--------------------------------------------------------请求头部:格式→头部字段名-冒号-值-回车符-换行符

    -----------------------------------空行-----------------------------------------
    ---------------------------------请求数据----------------------------------------

    服务器响应构成:状态行、消息报头、空行、响应正文

    HTTP/1.1 200 OK---------------------------------------------------------------状态行
    Date: Mon, 27 Jul 2009 12:28:53 GMT-------------------------------------------消息报头
    Server: Apache----------------------------------------------------------------消息报头
    Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT----------------------------------消息报头
    ETag: "34aa387-d-1568eb00"----------------------------------------------------消息报头
    Accept-Ranges: bytes----------------------------------------------------------
    消息报头
    Content-Length: 51------------------------------------------------------------
    消息报头
    Vary: Accept-Encoding---------------------------------------------------------
    消息报头
    Content-Type: text/plain------------------------------------------------------
    消息报头
    ------------------------------------空行---------------------------------------------
    ----------------------------------响应正文--------------------------------------------

    http请求方法:

    序号方法描述
    1 GET 请求指定的页面信息,并返回实体主体。
    2 HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
    3 POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
    4 PUT 从客户端向服务器传送的数据取代指定的文档的内容。
    5 DELETE 请求服务器删除指定的页面。
    6 CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
    7 OPTIONS 允许客户端查看服务器的性能。
    8 TRACE 回显服务器收到的请求,主要用于测试或诊断。

                                                   

     http响应头信息:

                                             

       

      

     http状态码:

    常见的http状态码:200--------请求成功;301-------资源(网页)被永久转到其他的URI;404----------请求的资源(网页)不存在;500----------内部服务错误。

    更多见 http://www.runoob.com/http/http-status-codes.html

    http内容类型(content-type):

    见表 http://www.runoob.com/http/http-content-type.html

     (总结自菜鸟教程)

  • 相关阅读:
    Spring注解驱动开发3:自动装配
    Spring注解驱动开发2:生命周期和属性赋值
    Spring注解驱动开发1:组件注册
    Java线程及其实现方式
    Winform 可取消的单选按钮(RadioButton)
    autoit脚本-从基本的函数用法开始
    python进阶(一)
    dict字典的一些优势和劣势
    读《流畅的python》第一天
    智能化脚本autoit v3的简单了解
  • 原文地址:https://www.cnblogs.com/njcb/p/7878484.html
Copyright © 2011-2022 走看看