zoukankan      html  css  js  c++  java
  • 008_02HTTP基础知识

    HTTP:HyperText Transfer Protocol(超文本传输协议)

      它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程及数据本身的格式。

    HTTP协议的版本: HTTP/1.0、HTTP/1.1

    HTTP1.0的基本运行方式:

      基于HTTP协议的客户/服务器模式的信息交换过程,如图所示,它分四个过程,建立连接、发送请求信息、发送响应信息、关闭连接。

      

      浏览器与WEB服务器的连接过程是短暂的,每次连接只处理一个请求和响应。对每一个页面的访问,浏览器与WEB服务器都要建立一次单独的连接。

      浏览器到WEB服务器之间的所有通讯都是完全独立分开的请求和响应。

    HTTP1.1的特点:

      在一个TCP连接上可以传送多个HTTP请求和响应。

      多个请求和响应过程可以重叠

      增加了更多的请求头和响应头,比如Host、If-Unmodified-Since请求头等

      

    HTTP请求消息:

      客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器发送了一个HTTP请求。

      一个完整的HTTP请求包括如下内容:

        一个请求行、若干消息头、以及请求正文,其中的一些消息头和正文都是可选的,消息头和正文内容之间要用空行隔开。

      

    HTTP响应消息:

      一个HTTP响应代表服务器向客户端回送的数据。

      一个完整的HTTP响应包括如下内容:

        一个状态行、若干消息头、以及响应正文,其中的一些消息头和正文都是可选的,消息头和正文内容之间要用空行隔开。

      

    GET方式

      如请求方式为GET方式,则可以在请求的URL地址后以?的形式带上交给服务器的数据,多个数据之间以&进行分隔,例如: GET /mail/1.html?       name=abc&password=xyz HTTP/1.1 GET方式的特点:在URL地址后附带的参数是有限制的,其数据容量通常不能超过1K。

    POST方式

      如请求方式为POST方式,则可以在请求的正文内容中向服务器发送数据,Post方式的特点:传送的数据量无限制。

    HTTP响应的细节——状态行

      常用状态码:

        200(正常) 表示一切正常,返回的是正常请求结果

        302/307(临时重定向) 指出被请求的文档已被临时移动到别处,此文档的新的URL在Location响应头中给出。

        304(未修改) 表示客户机缓存的版本是最新的,客户机可以继续使用它,无需到服务器请求。

        404(找不到) 服务器上不存在客户机所请求的资源。

        500(服务器内部错误) 服务器端的程序发生错误

    HTTP请求的细节——请求头 

      请求头字段用于客户端在请求消息中向服务器传递附加信息,主要包括客户端可以接受的数据类型(MIME类型)、压缩方法、语言以及发出请求的超链接所属页 面的URL地址等信息。

      常用请求头:

        Accept:浏览器可接受的MIME类型

        Accept-Charset: 浏览器通过这个头告诉服务器,它支持哪种字符集

        Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip

        Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。 可以在浏览器中进行设置。

        Host:初始URL中的主机和端口

        Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面

        Content-Type:内容类型

        If-Modified-Since: Wed, 02 Feb 2011 12:04:56 GMT利用这个头与服务器的文件进行比对,如果一致,则从缓存中直接读取文件。

        User-Agent:浏览器类型.

        Content-Length:表示请求消息正文的长度

        Connection:表示是否需要持久连接。如果服务器看到这里的值为“Keep -Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接       Cookie:这是最重要的请求头信息之一

        Date:Date: Mon, 22 Aug 2011 01:55:39 GMT请求时间GMT

    HTTP响应细节——常用响应头

      响应头字段用于向客户端传递附加信息

      常用响应头:

        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服务器发送的内容的MIME类型

        Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT文件的最后修改时间

        Refresh: 1;url=http://www.it315.org指示客户端刷新频率。单位是秒

        Content-Disposition: attachment; filename=aaa.zip指示客户端下载文件

        Set-Cookie:SS=Q0=5Lb_nQ; path=/search服务器端发送的Cookie

        Expires: -1 Cache-Control: no-cache (1.1) Connection: close/Keep-Alive

        Date: Tue, 11 Jul 2000 18:23:51 GMT

    物随心转,境由心造,一切烦恼皆由心生。
  • 相关阅读:
    广播和多播
    nohup和&后台运行,进程查看及终止
    Java知识汇总——思维导图
    linux 基础命令使用
    scp命令详解
    linux 安装crontab执行定时任务
    linux磁盘挂载
    虚拟机安装网络设置
    Android直播实现srs流媒体服务器部署
    java的(PO,VO,TO,BO,DAO,POJO)解释
  • 原文地址:https://www.cnblogs.com/woodrow2015/p/4582133.html
Copyright © 2011-2022 走看看