`
- 浏览:
2141030 次
- 性别:
- 来自:
北京
-
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协议的。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
深入了解http协议.具体介绍了相关的协议
深入浅出了解HTTP协议
Python爬虫基础知识.pdf 了解HTTP协议和HTML语言,理解网页的基本结构和请求过程
HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一...
学习了解http协议相细字段,分析http协议。
对于了解http协议很有帮助,对于很多开发者来说对于http协议很模糊,其实也不是很高深的东西了
非常透彻的了解http协议,还有实验进行验证,我觉得非常不错,推荐给大家
让你了解http协议的秘密
本文描述http协议基本工作原理,是web网站开发人员了解http协议指导丛书
详细解读了HTTP协议,对于网络中常用的HTTP协议进行解读,让读者可以轻松的了解http协议,对于http协议了解以后,还解读一些安全上的知识
对于Web编程人员来说,熟悉了解HTTP协议的状态码是很有必要的,很多时侯可能根据HTTP协议的状态码很快就能定位到错误信息!
程序功能 1、通过http语言,在后台下载资源,实现软件更新 2、程序使用c语言实现,效率高 3、想知道软件如何更新,想近一步了解http协议,或者很闲,可以参考一下。
# 大家说的Python爬虫是指什么?...4. **网络爬虫原理**:了解HTTP协议和网页结构,理解爬虫的基本原理。HTTP协议是Web应用程序中的一种通信协议,而了解网页结构可以帮助我们更好地理解网页的内容和布局。
HTTP协议:了解HTTP协议的基本原理、特点、工作流程等。 HTML/CSS/JavaScript:掌握HTML/CSS/JavaScript的基础知识,能够进行基本的网页开发和调试。 前端框架:学习前端框架,例如React、Vue等,掌握其基本原理和...
1、熟悉Web系统的工作原理,掌握HTTP协议的工作机制; 2、利用Telnet工具或其他工具提供TCP端接,在TCP连接的基础上,手动实施基于HTTP协议的Web程序访问过程; 3、理解邮件服务的工作原理; 4、了解POP3协议及接收...
Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,...你越使用Fiddler,就越能帮助你了解HTTP协议。 Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。
HTTP1.1标准 RFC 2616中文版,不了解HTTP协议的这个翻译文档可以很好的查漏补缺,忘记可以随时查阅。
Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你...你越使用Fiddler,就越能帮助你了解HTTP协议。 Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。
允许你监视、设置断点、甚至修改输入输出数据。Fiddler包含了一个强大的基于事件脚本的子系统,并且能...你越使用Fiddler,就越能帮助你了解HTTP协议。Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。