`
guoshaobin
  • 浏览: 14431 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

http概述

    博客分类:
  • http
web 
阅读更多
HTTP
http1.0的会话方式:
四个步骤:

建立连接
发送请求信息
回送响应信息
关闭连接
浏览器与WEB服务器的连接过程是短暂的,每次连接只处理一个请求和响应。对每一个页面的访问,浏览器与WEB服务器都要建立一次的单独的连接。
浏览器到WEB服务器之间的所有通讯都是完全独立分开的请求和响应对。




HTTP1.1与HTTP1.0的比较
HTTP1.1的特点
在一个TCP连接上可以传送多个HTTP请求和响应
多个请求和响应过程可以重叠进行(不用等待上一次请求响应的的结束)

增加了更多的请求头和响应头


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

请求行:请求行用于描述客户端的请求方案。请求的资源名称,以及使用的HTTP协议版本号。
消息头:消息头用于描述客户端请求那台主机,以及客户端的一些环境信息。
HTTP响应消息
响应消息的结构
  一个状态行、若干个消息头、以及实体内容,其中一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。


HTTP消息—>其他细节
  响应消息的实体内容就是网页文件的内容,也就是在浏览器中使用查看源文件的方式所看到的内容。
  一个使用GET方式的请求消息中不能包含实体内容,只能使用POST、PUT、和DELETE方式的请求消息中才可以包含实体内容。
  对于HTTP1.1来说,如果HTTP消息中包括实体内容,且没用采用chunked传输编码方式,那么消息头部分必须包含内容长度的字段,否则,客户端和服务程序就无法知道实体内容何时结束。
  在HTTP协议中,还可以使用简单的请求消息和响应消息,它们都没有消息头部分。简单的请求消息只能用于GET方式,且请求行中不能指定HTTP版本号。对于简单的请求消息,服务器放回简单的响应消息,简单的响应消息中之返回实体内容。
  
HTTP消息头
  使用消息头,可以实现HTTP客户机与服务器之间的条件请求和应答,消息头相当于服务器和浏览器之间的一些暗号指令。
  每个消息头包含一个头字段名称,然后依次是冒号、空格、值、回车和换行符。
  
  消息头字段名是不区分大小写的,但习惯上将每个单词的第一个字母大写。
  整个消息头部分中的各行消息头可按任意顺序排序。
  消息头又可以分为通用消息头、请求头、响应头、实体头等四类。
  许多请求头字段都允许客户端在值部分指定多个可接受的选项,多个项之间一逗号分隔。
  
  有些头字段可以出现多次,例如,响应消息中可以包含多个“Warning”头字段。
  
HTTP协议详解
请求行与状态行
请求行
格式:请求方式 资源路径 HTTP版本号<CRLF>
举例:GET/test.html HTTP/1.1
请求方式:POST、HEAD、OPIONS、DELETE、TRACE、PUT
状态行
格式:HTTP版本号 状态码 原因描述<CRLF>
举例:HTTP/1.1 200 OK

使用GET和POST方式传递参数
在URL地址后面可以附加一些参数

GET

特点:传送的数据量是有限制的,一般限制在1KB一下
POST方式
举例:

特点:传递的数据量要比GET方式传递的数据量大得多。

响应状态码
  响应状态码用于表示服务器对请求的各种不同处理结果和状态,他是一个三位的十进制数。响应状态码可归为5中类别,使用最高位为1到5来进行分类,如下所示;
1、100~199
表示成功接收请求,要求客户端继续提交下一个请求才能完成整个处理过程。
2、200~299
表示成功接收请求并已完成整个处理过程。
3、300~399
为完成请求,客户端需进一步细化请求。例如请求的资源已经移动一个新地址。
4、400~499
客户端的请求有错误
5、500~599
服务器端出现错误。


通用信息头
  通用信息头字段既能用于请求消息,也能用于响应消息,它包括一些被传输的实体内容没有关系的常用消息头字段。




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


http常用请求头
Accept:用于告诉服务器,客户机支持的数据类型。
Accept-Charset:用于告诉服务器,客户机采用的编码
Accept-Encoding:用于告诉服务器,客户机支持的数据压缩格式
Accept-Language:客户机的语言环境
Host:客户机通过这个头告诉服务器,想访问的主机名
If-Modified-Since:客户机通过这个头告诉服务器,资源的缓存时间
Referer:客户机通过这个头告诉服务器,它是从那个资源来访问服务器的(防盗链)
User-Agent:客户机通过这个头告诉服务器,客户机的软件环境
Cookies:客户机通过这个头可以向服务器带数据
Connection:告诉服务器请求完是否保持连接


http常用响应头
Location:这个头配合302状态使用,用于告诉客户找谁
Server:服务器通过这个头,告诉浏览器服务器的类型
Content-Encoding:服务器通过这个头,告诉浏览器的数据压缩格式
Content-Length:服务器通过这个头,告诉浏览器回送数据的长度
Content-Language:服务器通过这个头,告诉浏览器回送的语言环境
Content-Type:服务器通过这个头,告诉浏览器回送的数据类型
Last-Modified:服务器通过这个头,告诉浏览器当前资源的最后缓存时间
Refresh:服务器通过这个头,告诉浏览器隔多长时间刷新一次
response.setHerder(“refresh”, “3;url= ‘http://www.sina.com’ ”);
Content-Disposition:服务器通过这个头,告诉浏览器以下载方式打开
Transfer-Encoding:服务器通过这个头,告诉浏览器数据的传送格式
ETag:缓存相关的头
Expires:服务器通过这个头,告诉浏览器把回送的资源缓存多长时间,-1或0,则是不缓存
Cache-Control:no-cache
Pragma:no-cache
服务器通过以上这两个头,也是控制浏览器不要缓存数据



Http请求头字段
Range:range头指示服务器只传输一部分Web资源,这个头可以用于实现断点续传功能。Range字段可以通过三种格式设置要传输的字节范围;
Range:bytes = 1000-2000
  传输范围从1000到2000字节
Range:bytes = 1000-
  传输Web资源中第1000个字节以后的所有内容
Range:bytes = 1000
  传输最后的1000个字节
  
Http响应头字段
Accept-Ranges:这个字段说明Web服务器是否支持Range,则返回Accept-Range:bytes,如果不支持,则返回Accept-Ranges:none。
Content-Range:指定了返回的Web资源的字节范围,这个字段的格式是:例子:Content-Range:1000-3000/5000
实体头
  实体头用作实体内容的元信息,描述了实体内容的属性,包括实体信息类型、长度、压缩方法、最后一次修改时间、数据有效期等。
  
  




Win7中telnet的使用
控制面板-程序-打开或关闭windows功能,在这里你可以看到许多服务项,选择telnet服务器和telnet客户端确定即可。
在控制面板-管理工具-服务中,找到telnet并且右键属性改为手动,再通过手动启动。
Telent  输入telnet localhost 8080
       输入Ctrl+]键
分享到:
评论

相关推荐

    HTTP概述.xmind

    HTTP概述,xmind、pdf和png的格式文件,参考图书《图解HTTP》部分内容,有兴趣可自行查阅图书

    java对接sds对象存储必备-应用与开发指南-完整版

    2.1 HTTP 概述 2.1.2 HTTP 协议 2.1.3 HTTP 请求的流程 2.2 URL与资源 2.3 HTTP 报文 2.3.1 HTTP 动词 2.3.2 状态码 2.3.3 请求报文 2.3.4 响应报文 2.4 链接管理 2.4.1 短连接 2.4.2 长连接 2.4.3 HTTP 连接的处理 ...

    HTTP Live 媒体流概述

    HTTP Live 媒体流概述

    HTTP协议概述.pdf

    HTTP协议概述.pdf 学习资料 复习资料 教学资源

    前端工程师技能精髓

    绪言B:HTTP概述 第1章:减少HTTP请求 第2章:使用内容发布网络 第3章:添加Expires头 第4章:压缩组件 第5章:将样式表放在顶部 第6章:将脚本放在底部 第7章:避免CSS表达式 第8章:使用外部JavaScript和CSS 第9章...

    02-ajax及http协议概述.md

    02-ajax及http协议概述

    http协议概述v0.1.xmind

    此http协议概述0.1版本为本人购买并阅读HTTP协议概述整书及整理相关视频所做,只为给初学者一种更快认识协议的方式。此版本为V0.1随着深入不断添加

    web开发基础教程 http协议 j2ee概述

    web开发基础教程 包括http协议 j2ee概述的介绍,且含有例子。另外还附带httpwatchpro,解压就能用,方便学习

    http协议概述文档

    文档言简意赅的描述了http协议,有兴趣的朋友可以下下来

    HTTP请求头概述

    1796894391 1796894391 1796894391 1796894391 1796894391 1796894391

    超全面javaweb教程28天第8天 14 Http协议概述

    超全面javaweb教程28天第8天_14_Http协议概述

    Android系统架构概述

    Android系统架构概述 罗升阳CSDN博客:http://blog.csdn.net/luoshengyang

    webaccess功能概述

    上位机自动控制软件webaccess功能概述

    RESTful架构风格概述

    RESTful架构风格概述,转自:http://blog.igevin.info/posts/restful-architecture-in-general/

    Struts2 框架概述

    虽然Struts 2号称是一个全新的框架,但这仅仅是相对Struts 1而言。 Struts 2与Struts 1相比,确实有很多革命性的改进,但它并...Struts2概述 http://www.ossez.com/forum.php?mod=viewthread&tid=13556&fromuid=426

    Java_Servlet技术概述和实例

    Java_Servlet技术概述和实例,Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用...

    HTTPS原理概述.md

    最详细的概述Https安全传输原理,有别于http的重点

    01电子商务概述.doc

    01电子商务概述.doc &lt;br&gt;欢迎访问我的博客: http://workhelper.blogbus.com

    baohenglin#HLBlog#《HTTP权威指南》1

    《HTTP权威指南》|《第 1 章 HTTP概述》《第 2 章 URL与资源》《第 3 章 HTTP报文》《第 4 章 连接管理》《第 5 章 Web服务器》

    HTTP请求头概述(HttpServletRequest)

    HTTP客户程序(例如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者POST)。如有必要,客户程序还可以选择发送其他的请求头。大多数请求头并不是必需的,但Content-Length除外。对于POST请求来说...

Global site tag (gtag.js) - Google Analytics