`
qindongliang1922
  • 浏览: 2182479 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117477
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125867
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59865
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71256
社区版块
存档分类
最新评论

了解HTTP协议

阅读更多
  http协议全称超文本传输协议(hypertext transfer protocol),就是用来定义浏览器与客户机数据交换的一个过程,java web中servlet 的各种方法也是建立在http请求与响应的基础,而http协议也是网络基础协议tcp/ip协议的应用级表现,因此http协议是web应用的基石。
    目前流行的版本为http1.1,相比于1.0支持客户端与服务器连接后访问多个web资源。http请求对应浏览器向服务器发出的请求信息,其具体分为请求行,请求头,空白行.如下图:

     请求行(状态行):首先显示其请求方式(get,post,trace,delete,head,put,option),默认为get,表单提交为post,二者区别在于get提交的数据跟在其请求的url后,以&隔开,其数据大小不能超过1k,post提交数据在协议空白行里,其大小无限制。请求行之后显示的为请求的web资源名,协议版本号。
     请求头:显示各个字段及其内容。Accept:告诉服务器客户机支持的压缩类型,例如:text/html,image/*.其为支持文本与图像格式。*/*为支持所有格式。Accept-Encoding:告诉服务器其支持的数据压缩格式。Accept-charset:告诉服务器客户机支持的编码格式。Accept-language:告诉服务器客户机的语言环境,英文或中文等。if_modified-since:提供其客户机资源的缓存时间,比如访问某网站首页,浏览器将其资源加入缓存,当下次再次访问其网站时,服务器会将其提交的时间与网站最新的更新时间对比,若更新时间早于其提交时间,则浏览器直接从缓存中提取资源,从而减小服务器的压力。Refere:告诉服务器访问该页面时客户机是从哪个页面跳转过来的,此法主要用于防盗链,保护其网站的资源,防止其他网站以超链接形式直接跳转至本网站重要资源。user-agent:告诉浏览器其运行环境,windows内核,以及浏览器版本等。Connection:告诉服务器请求后是保持链接或者断掉链接,keep alive/close.
    空白行:当请求方式为post时,显示提交的数据
    http响应对应服务器对客户机请求后做出的响应包。如下图:

    状态行:主要显示服务器的处理结果。首先显示http版本信息,其次显示状态码,状态码由3为十进制数组成,常见状态码及其意义如下。200,202:客户机请求成功,302:客户机再请求别的地址,304,307:客户机去拿缓存,403:客户机请求错误,404:客户机请求的web资源没有或请求地址没有,500:服务器有问题。
响应头:各个字段对应服务器对客户机的响应信息以及对数据的响应控制。Location:配合302状态码使用,显示其为客户机。重定向的地址。Server:告诉客户机本服务器的类型。Content-Encoding:告诉客户机数据的压缩格式。Content-Length:告诉客户机压缩后的数据长度。Content-Type:返回的数据类型。Refresh:告诉客户机隔多长时间刷新一次(请求服务器)。Content-Disposition:attachment;filename=”….”,告诉客户机以下载方式打开该文件。Transfer-Encoding:告诉客户机数据的传送格式。etag:与缓存相关,客户机第一次请求服务器的某个web资源时,服务器会以etag的形式返回给客户机该web资源的唯一标识符(相当于id),当客户机第二次访问该web资源时会带上该etag值,与现今etag比对后若一样则客户机直接拿缓存。Expiress:告诉客户机把回送的数据缓存的时间,若小于此时间则客户机访问时一直拿缓存,—1则不拿缓存。
空白行:显示服务器返回给客户机的实际数据内容。
    由此可看出,整个web应用开发都是基于http协议的。
分享到:
评论
2 楼 qindongliang1922 2014-02-23  
中南java人 写道
谢谢转载本人文章

总结的不错,
1 楼 中南java人 2014-02-23  
谢谢转载本人文章

相关推荐

    深入了解http协议

    HTTP协议是基于TCP/IP协议栈的,它的工作流程和特性对理解Web通信至关重要。 1. **基础概念** - HTTP是万维网(WWW)的基础,它允许浏览器向服务器请求数据,如HTML文档、图像和其他资源。 - HTTP/1.0版本由RFC ...

    B06.深入浅出了解HTTP协议.md

    # 深入浅出了解HTTP协议 ## HTTP协议简介 HTTP(HyperText Transfer Protocol,超文本传输协议)是互联网中最广泛使用的应用层协议之一,主要用于传输超文本内容,例如HTML文档、图像、视频等多媒体资源。HTTP协议...

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

    1. **捕获并分析HTTP协议报文**:通过工具(本实验中使用的是Ethereal)捕获HTTP协议的交互报文,并对其进行分析,了解HTTP协议的报文结构及其工作流程。 2. **理解HTTP协议的工作机制**:通过对捕获的报文进行分析...

    HTTP协议详解.pdf

    HTTP 协议详解 HTTP 协议是超文本传输协议(HyperText Transfer Protocol)的缩写,是目前万维网(World Wide Web)上最流行的通信...了解 HTTP 协议的详细知识可以帮助我们更好地理解万维网的工作原理和应用场景。

    面试中的HTTP协议

    在面试中,了解HTTP协议的知识是评估一个开发人员基础网络理解能力的重要标准。以下是对HTTP协议的一些核心知识点的详细解释: 1. **HTTP工作原理**: - HTTP是非对称通信协议,基于请求/响应模型。客户端(如...

    HTTP协议详解.doc

    了解HTTP协议是深入理解网页开发和技术架构的关键。 一、HTTP协议与URL HTTP协议基于TCP/IP连接工作,通过URL(统一资源定位符)来定位网络资源。URL的格式包括协议类型(http)、主机名(host)、可选的端口号...

    利用ethereal分析HTTP协议

    "Ethreal分析HTTP协议" 本资源摘要信息主要讲述了如何使用 Ethereal 分析 HTTP 协议的过程。通过 Ethereal 捕获 HTTP 协议的整个过程,了解 HTTP 协议的细节和格式。 HTTP 协议回顾 HTTP(HyperText Transfer ...

    http协议RFC中文版

    ... **RFC文档介绍** RFC(Request for Comments)是互联网工程任务组(IETF)发布的技术规范和标准草案,用于记录...通过阅读这些RFC文档,可以深入了解HTTP协议的工作原理和细节,对理解和优化网络应用有着重要意义。

    http协议学习

    HTTP协议学习资料主要为初学者提供了对HTTP协议基本概念、工作原理以及相关开发工作的详细介绍,内容全面,帮助开发者和测试...通过本文的介绍和更多实践,初学者可以逐步深入了解HTTP协议,并在实际工作中灵活运用。

    HTTP协议的基础介绍

    在学习 HTTP 协议的特点之前,我们需要了解一些基本的概念。HTTP 协议是基于请求和响应的协议,客户端发起请求,服务器端响应请求。HTTP 协议使用 TCP/IP 协议作为传输层协议,确保数据的可靠传输。 资源标记 在...

    基于HTTP协议的下载工具C#源文件

    首先,让我们了解HTTP协议的基本概念。HTTP协议是用于分布式、协作式和超媒体信息系统的应用层协议。它是万维网的数据通信的核心,允许客户端(如浏览器)向服务器发送请求并接收响应。HTTP协议基于TCP/IP协议,以...

    使用网络分析软件学习HTTP协议.pdf

    通过对捕获的数据包进行分析,可以更深入地了解HTTP协议的工作机制: 1. **建立连接**:客户端首先与服务器建立TCP连接。 2. **发送请求信息**:客户端向服务器发送HTTP请求,请求通常包含请求方法、URL、HTTP版本...

    python爬虫HTTP协议剖析

    ... ... ...2. 请求头(Request Header):包括客户端浏览器的信息、 Cookie、 Referer等信息。...3. 请求体(Request Body):包括...通过了解HTTP协议的结构、方法和头部信息,开发者可以更好地使用Python爬虫来爬取网络资源。

Global site tag (gtag.js) - Google Analytics