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

来源:互联网 发布:opticalflares mac 编辑:程序博客网 时间:2024/05/29 09:40

一、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协议版本:

①HTTP协议有两个版本:HTTP/1.0、HTTP/1.1

②在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请求和响应:

        









0 0
原创粉丝点击