`
剑晨java
  • 浏览: 23488 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

Http协议

阅读更多
  当客户端连上web服务器,并想访问web服务器的某个web资源时,需要遵守一定的通信格式,而Http协议就是用于定义客户端与web服务器通信格式的协议。Http全称hypertext  transfor protocol,超文本传输协议,是基于TCP/IP协议的一个应用层协议。
  一、Http请求头。
  客户端连上服务器后,向服务器请求某个web资源,称之客户端向web服务器发送一个Http请求,一个完整Http请求应包括,一个请求行、若干消息头、以及实体内容。
     1)请求行:用于描述客户端的请求方式,请求资源的名称,以及使用的HTTP协议版本号。GET(请求方式)/books/java.html(资源名称) HTTP/1.1
       请求方式有:POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT
       常用请求方式有:GET、POST。用户如果没有设置,默认情况浏览器向服务器发送GET请求,例如在地址栏输入地址访问和点击超链接访问都是GET,若想把GET改为POST,可以通过更改表单的提交方式实现。
        两者主要区别:
    GET:可以在请求的URL地址后以"?"的形式带上交给服务器的数据,多个数据之间以"&"隔开。(附带参数有限制,其数据容量通常不能超过1k)
    POST:可以在请求实体中向服务器发送数据,数据量无限制。
      2)请求头:用于描述客户端请求那台主机,以及客户端的一些环境信息等。
请求头:
     
      Accept:text/html,image/*						用于告诉服务器客户机支持的数据类型
      Accept-Charset:ISO-8859-1						用于告诉服务器客户机采用的编码
      Accept-Encoding:gzip,compress					用于告诉服务器客户机支持的数据压缩格式
      Accept-Language:en-us,zh-cn					用于告诉服务器客户机的语言环境
      Host:www.it315.org:80						用于告诉服务器客户机想访问的主机名
      if-Modified-Since:Tue,4 Oct 2013 18:23:51 GMT			用于告诉服务器,资源的缓存时间(下次在访问时根据时间比对网页是否更新,没更新直接拿出缓存,高级网站开发十分有用,减去大量访问次数)
      Referer:http//www.it315.org/index.jsp				用于告诉服务器客户机是从哪个资源访问服务器(防盗链,盗链跳到首页)
      User-Agent:Mozillz/4.0(compatible;MSIE 5.5;Windows NT 5.0)	用于告诉服务器客户机的软件环境
      Cookie							用于向服务器带数据
      Connection:close/Keep-Alive					请求完后是否保持连接
      Data:Tue,4 Oct 2013 18:23:51 GMT					当前时间

      3)请求数据

    二、Http响应头。
     web服务器响应客户端的请求并回送给客户端数据,称之为Http响应头。一个Http响应头包括,一个响应行、若干响应头、以及实体内容。
1)状态行:用于描述服务器对请求处理的结果。HTTP/1.1(响应协议) 200(状态码) OK
状态码:表示服务器对请求的处理结果,它是一个三位的十进制数。状态码分为五类。
  100-199:表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程。
  200-299:表示成功接收请求并完成整个处理结果,常用200。
  300-399:为完成请求,客户端进一步细化请求。例如,请求的资源已移动一个新地址。常用302、307和304。(302新的地址,304或307拿缓存)
  400-499:客户端的请求有错误,常用404(请求资源不存在)和403(没有权限)。
             500-599:服务器端出现错误,常用500。
      2)响应头:用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理等一会它回送的数据
响应头:
Location:http//www.it315.org/index.jsp				配合302状态码使用,用于告诉客户端找谁(请求重定向,登录...)
	Server:apache tomacat				用于告诉客户端服务器的类型		
	Content-Encoding:gzip				用于告诉客户端数据的压缩格式
	Content-Length:80					用于告诉客户端压缩数据的长度				
	Content-Language:zh-cn				用于告诉客户端回送语言环境
	Content-Type:text/html;charset=GB2312		用于告诉客户端回送数据类型
	Last-Modified:Tue,4 Oct 2013 18:23:51 GMT		用于告诉客户端当前资源的缓存时间		
	Refresh:1;url=http//www.it315.org			用于告诉客户端隔多长时间刷新一次(聊天室、股票...),也可以控制刷到哪里。
	Content-Disposition:attachment;filename=aaa.zip	用于告诉客户端以下载方式打开数据
	Transfer-Encoding:chunked				用于告诉客户端数据的传送格式
	Set-Cokkie:SS=QO=5Lb_nQ; path=/search				
	ETag:W/"7777-1242234904000"				缓存相关(可以做到时时更新)
	Expiress:-1					用于告诉客户端把回送的资源缓存多长时间,-1或0表示不缓存
	Cache-Control:no-cache				控制客户端不要缓存			
	Pragma:no-cache					控制客户端不要缓存	
	Connection:close/Keep-Alive				请求完后是否保持连接
	Date:Tue,4 Oct 2013 18:23:51 GMT			当前时间

      3)服务器向客户端回送的数据
分享到:
评论

相关推荐

    HTTP协议分析报告

    (2) 由于网页文档的传输需要可靠性的保证,所以HTTP协议使用TCP协议,TCP协议是一个面向连接的协议,在通信时需要建立连接,通信结束要释放连接,TCP建立连接时需要三次握手,提供可靠的数据传输,HTTP协议默认...

    深入理解HTTP协议

    深入理解HTTP协议

    http 协议解析类 c++

    能够处理http协议:(1)解析 (2)构造http格式

    网络协议TCP/IP实验七 HTTP 协议分析实验

    湘潭大学 网络协议TCP/IP实验七 HTTP 协议分析实验报告,仅供参考

    HTTP协议ppt HTTP协议ppt

    HTTP协议ppt

    HTTP协议详细解释

    HTTP协议

    http 协议

    http协议头 HTTP 请求和 HTTP 响应都使用头发送有关 HTTP 消息的信息。头由一系列行组成,每行都包含名称,然后依次是冒号、空格、值。字段可按任何顺序排列

    认清http协议本质

    认清http协议本质,可供参考博客: http://blog.csdn.net/u010661782/article/details/52714026

    HTTP协议详解.pdf

    在TCP/IP协议模型中, HTTP协议是在应用层使用的协议,他的作用是将我们需要发送的数据进行封装,然后通过下一层的层层传递发送给目的主机,目的主机会给他一个响应或者返回他查询的数据。应该是在我们开发的过程中...

    http协议详解

    由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 4.无连接:无连接的含义是限制每次连接只处理一个请求。...

    HTTP协议详解(真的很经典)

    HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式。 2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP...

    http协议中文版(http协议中文版)

    http协议中文版,全面介绍了http协议,不可多得的好资料

    java实现http协议jar包

    java实现http协议jar包,是一个访问http协议工具类,导入全部jar包到项目里面,调用httpRequest方法及可实现http协议访问,以及获取代理IP方法封装

    c# HTTP协议的连接方式

    c# HTTP协议的连接方式------------------------------

    HTTP协议.zip_HTTP_HTTP协议

    精心整理的的http协议资料,比较简要,明确,完整

    HTTP协议详解_HTTP协议_

    HTTP协议详解 2010年 06月 22日

    面试中的HTTP协议

    详细讲解面试中的HTTP协议 详细讲解面试中的HTTP协议 详细讲解面试中的HTTP协议

    物联网项目实战开发之基于STM32+ESP8266WIFI通过HTTP协议接入中移OneNet云平台代码程序,支持WEB及APP

    2、通过HTTP协议接入平台,接收平台端下发的控制指令并动作。上报继电器状态及温湿度值。 3、代码使用KEIL开发,当前在STM32F103C8T6运行,如果是STM32F103其他型号芯片,依然适用,请自行更改KEIL芯片型号以及FLASH...

    HTTP协议超级详解.docx

    W3C)和互联网工程任务组(Internet Engineering Task Force,IETF)进行协调,最终发布了一系列的RFC,其中最著名的是1999年6月公布的 RFC 2616,定义了HTTP协议中现今广泛使用的一个版本——HTTP 1.1。

    HTTP协议详解及RFC2616(HTTP)中文版

    HTTP协议详解 RFC2616(HTTP)中文版 pdf 格式,高清

Global site tag (gtag.js) - Google Analytics