您的位置:首页 > 理论基础 > 计算机网络

【HTTP协议】请求、响应、状态码

2017-01-08 14:48 162 查看
一、HTTP协议概述:
①HTTP是hypertext  transfer  protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义Web浏览器与Web服务器之间交换数据的过程
①客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议是定义客户端与web服务器通讯的格式。
②安装IE浏览器插件HttpWatch,查看IE浏览器通过HTTP协议获取某个页面。
③HTTP协议是学习JavaWeb开发的基石,不深入了解HTTP协议,就不能说 掌握了Web开发,更无法管理和维护一些复杂的Web站点。
④HTTP协议的版本:HTTP/1.0、HTTP/1.1、HTTP/2.0

二、HTTP协议版本:
①HTTP协议有三个版本:HTTP/1.0、HTTP/1.1、HTTP/2.0
②在HTTP1.0协议中,客户端与web服务器建立连接后,只能获得一个web资源。
③在HTTP1.1协议中,允许客户端与web服务器建立连接后,在一个连接上获取多个web资源。
                                                                                                


                   


二、请求:
    客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器端发送了一个HTTP请求,一个完整的HTTP请求包括四个部分:一个请求行、若干请求头,一个空行,以及若干实体。                                           



三、请求行:
    请求行中的GET称为请求方式,常用的请求方式有两种:POST、GET。两种请求方式都是用于向服务器请求某个Web资源,这两种方式的区别主要表现在数据传递上。
1、如果请求方式为GET方式(默认的请求方式),则可以在请求的URL地址后以?的形式带上交给服务器的数据,多个数据之间以&进行分割,例如:
       GET/books/1.html?name=abc&password=123 HTTP1.1
GET方式的特点:在URL地址后附带的参数是有限制的,其数据容量通常不能超过1K。
2、如果请求方式为POST方式,则可以在请求的实体内容中向服务器端发送数据,Post方式的特点:传递的数据是无限制的。
四、请求头:
       


          ①Accept:用于告诉服务器,客户机支持的数据类型
          ②Accept-Charset:用于告诉服务器,客户机采用的编码方式
          ③Accept-Encoding:用于告诉服务器,客户机支持的数据压缩格式
          ④Accept-Language:客户机的语言环境
          ⑤Host:客户机通过这个头告诉服务器,想访问的主机名
          ⑥If-Modified-Since:客户机通过这个头告诉服务器,资源的缓存时间
          ⑦Cookie:客户机通过这个头可以向服务器带数据
          ⑧Referer:客户机通过这个头告诉服务器,它是从哪个资源来访问服务器的
          ⑨Connection:请求完之后是保存链接还是断开链接。

四、响应:
    一个HTTP响应代表服务器向客户端回送的数据,它包括响应行、响应头信息、空行和响应实体。服务器通过响应头控制浏览器的行为,通过响应头告诉浏览器有关服务器的一些基本信息。
          


六、响应头:
              


         ①Location:这个头配合302状态码使用,用于告诉客户找谁
         ②Server:服务器通过这个头,告诉浏览器服务器的类型。
         ③Content-Encoding:服务器通过这个头,数据的压缩格式。
         ④Content-Length:服务器通过这个头,告诉浏览器回送数据的长度。
         ⑤Content-Type:服务器通过这个头,告诉浏览器回送数据的类型。
         ⑥Last-Modified:服务器通过这个头,告诉浏览器当前资源缓存时间。
         ⑦Refresh:服务器通过这个头,告诉浏览器隔多长时间刷新一次。(可以用在 股票页面、聊天室)
         ⑧Content-Disposition:服务器通过这个头,告诉浏览器以下载方式打开数据。
         ⑨Transfor-Encoding:服务器通过这个头,告诉浏览器数据的传输格式。
         ETag:缓存相关的头  (能做到实时更新)

七、状态码:
    状态码用于表示服务器对请求的处理结果,它是一个三位的十进制数,分为5类。
                 


常用状态码:
①200:服务器成功返回网页
②301/2:永久/临时重定向
③403:服务器拒绝客户端的访问
④404:请求资源找不到
⑤500:服务器内部错误
⑥503:服务器暂不可用
  
八、总结:
     用一张图来简单总结一下HTTP请求和响应:
        
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: