HTTP协议总结

来源:互联网 发布:001a航母 知乎 编辑:程序博客网 时间:2024/06/05 06:30

HTTP协议

  • 简介

    HTTP协议是超文本传输协议,用于从万维网(www)服务器传输超文本到本地浏览器的传送协议。它是一个基于TCP/IP通信协议来传递数据(HTML文件,图片文件,查询结果等)。

  • 工作原理

    HTTP协议工作架构:客户端-服务器。浏览器作为HTTP客户端通过URL向HTTP服务端(Web服务器)发送所有请求。Web服务器:Apache服务器,IIS服务器等。Web服务器根据收到的请求,向客户端发送响应信息。HTTP默认端口为80,但可以改变。

    HTTP连接三种特性:

    • HTTP是无连接的:限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开。采用这种方式可以节省传输时间。
    • HTTP是媒体独立的:只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。
    • HTTP是无状态的:无状态是指协议对于事物处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

    HTTP使用同一资源标识符(URI)来传输数据和建立连接。一旦建立连接后,数据消息就通过类似Internet邮件所使用的格式和多用途Internet邮件扩展(MIME)来传送。

  • 工作过程

    一个HTTP操作称为一个事物,其整个过程如下:

    • 1)地址解析
    • 2)封装HTTP请求数据包:
    • 3)封装成TCP包,建立TCP连接(TCP的三次握手)
    • 4)客户机发送请求命令
    • 5)服务器响应
    • 6)服务器关闭TCP连接
  • HTTP报文

    HTTP报文主要包括请求报文和响应报文两种。

    HTTP请求报文主要由四部分组成:请求行(request line),请求头部(header),空行,请求数据。

    HTTP响应报文主要由四部分组成:状态行,响应头部,空行,响应正文。

  • 请求方法

    依据HTTP标准,HTTP请求可以使用多种请求方法。

    • HTTP1.0定义了三种请求方法:GET、POST和HEAD方法。
    • HTTP1.1新增了五种请求方法:OPTIONS、PUT、DELETE、TRACE和CONNECT方法。

  • 请求头部

    请求头部为请求报文添加一些附件信息,由“名/值”对组成,每行一对,名和值之间使用冒号分割。常见请求头如下:

  • 状态码

    当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接受并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头用以响应浏览器的请求。

    HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为以下5中类型:

    常见HTTP状态码:

    • 200——请求成功
    • 301——资源(网页等)被永久转移到其他URL
    • 302——跳转,跳转地址通过响应头中的Location属性指定
    • 400——客户端请求有语法错误,不能被服务器识别
    • 403——服务器收到请求,但是拒绝提供服务(认证失败)
    • 404——请求的资源(网页等)不存在
    • 500——内部服务器错误
    • 503——服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常
  • 响应头部

    与请求头部类似,为响应报文添加一些附件信息。

0 0
原创粉丝点击