HTTP协议 常用 总结
2014-11-26 11:54
155 查看
HTTP协议 常用 总结
写在前面:最近各种事情,一边整项目,一边各种找实习,各种受鄙视,很久没有更新博客了。其实,大神都是,BLOG是写给自己看的。确实是这样,记录下自己的学习过程,以后方面复习。废话不多说了~~① http协议是建立在tcp/ip协议基础上
② http协议全称 超文本传输协议
③ http协议1.0 , 1.1版本 ,目前通用的是1.1版本
http1.0 称为短连接 http1.1 称为长连接.
所谓长,和短指的是 持续时间的 长连接 1.1 30s ,短连接是发送完数据就断掉.
Http协议
HTTP 协议的主要特点可概括如下:
1.支持客户/服务器模式。
2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP 协议简单,使得HTTP 服务器的程序规模小,因而通信速度很快。
3.灵活:HTTP 允许传输任意类型的数据对象。正在传输的类型Content-Type 加以标记。
4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
5.无状态:HTTP 协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
Http 请求由三部分组成,分别是:请求行、消息报头、请求正文
基本结构:
[消息头格式 (消息名: 内容 )
GET /test/hello.html HTTP/1.1 [请求行]
Accept: */*
[消息名] 消息名:内容
Referer: http://localhost:8080/test/abc.html
Accept-Language: zh-cn
User-Agent: Mozilla/4.0
Accept-Encoding: gzip, deflate
Host: http://www.sohu.com:80 Connection: Keep-Alive
特别说明: 并不是每一次请求的消息头都一样.]
空行
发送的内容 [格式 : 内容名字=内容体]
http请求消息头
1 Accept: text/html,image/* [告诉服务器,我可以接受文本,网页,图片]
2. Accept-Charset: ISO-8859-1 [接受字符编码iso-8859-1]
3. Accept-Encoding: gzip,compress [可以接受 gzip,compress压缩后数据.]
4. Accept-Language: en-us,zh-cn [浏览器支持中,英文]
5. Host: www.sohu.com:80 [我要找主机是www.sohu.com:80]
6. If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT [
告诉服务器,我的缓冲中有这个资源文件,该文件的时间是。。。]
7. Referer: http://www.sohu.com/index.jsp [告诉服务器,我来自哪里,该消息头,常用于防止盗链]
8. User-Agent:Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)[告诉服务器,浏览器内核]
9. Cookie [cookie??]
10. Connection:close/Keep-Alive [保持连接,发完数据后,我不关闭连接]
11. Date: Tue, 11Jul 2000 18:23:51 GMT [浏览器发送该http请求的时间]
请求行以一个方法符号开头,以空格分开,后面跟着请求的URI 和协议的版本,格式如下:Method Request-URI HTTP-Version CRLF其中Method 表示请求方法;Request-URI 是一个统一资源标识符;HTTP-Version 表示请求的HTTP 协议版本;CRLF 表示回车和换行(除了作为结尾的CRLF 外,不允许出现单独的CR 或LF 字符)。
请求方法(所有方法全为大写)有多种,各个方法的解释如下:
GET 请求获取Request-URI 所标识的资源
POST 在Request-URI 所标识的资源后附加新的数据
HEAD 请求获取由Request-URI 所标识的资源的响应消息报头
状态代码由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:
格式:HTTP版本号 状态码 原因叙述
举例:HTTP/1.1 200 OK
状态码 含义
100-199 表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程
200-299 表示成功接收请求并完成整个处理过程,常用200
300-399 为完成请求,客户需要进行一步细化请求。例如:请求的资源已经移动一个新的地址,常用302,307
400-499 客户端的请求有错误404
500-599 服务器端出现错误,常用500
http响应消息头详解
n Location: http://www.baidu.org/index.jsp 【让浏览器重新定位到url】
n Server:apache tomcat
【告诉浏览器我是tomcat】
n Content-Encoding: gzip
【告诉浏览器我使用 gzip】
n Content-Length: 80 【告诉浏览器会送的数据大小80节】
n Content-Language: zh-cn
【支持中文】
n Content-Type: text/html; charset=GB2312
[内容格式text/html;
编码gab2312]
n Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT
【告诉浏览器,该资源上次更新时间】
n Refresh: 1;url=http://www.baidu.com
【过多久去,刷新到 http://www.baidu.com】 n Content-Disposition: attachment; filename=aaa.zip
【告诉浏览器,有文件下载】
n Transfer-Encoding: chunked [传输的编码]
n Set-Cookie:SS=Q0=5Lb_nQ;path=/search[后面详讲]
n Expires: -1[告诉浏览器如何缓存页面IE]
n Cache-Control: no-cache [告诉浏览器如何缓存页面火狐]
n Pragma: no-cache [告诉浏览器如何缓存页面]
n Connection: close/Keep-Alive [保持连接 1.1是Keep-Alive]
n Date: Tue, 11 Jul 200018:23:51 GMT
相关文章推荐
- Http协议中常用字段总结(不定时完善中)
- Java web学习总结4:Http协议 Http协议常用的消息头汇总
- Http协议中常用字段总结(不定时完善中)
- Http协议中常用字段总结(不定时完善中)
- http协议学习和总结系列
- JSP总结一:HTTP协议
- http协议学习和总结系列——协议详解篇
- HttpWebRequest和HttpWebRespone的常用方法总结
- http协议学习和总结系列——基础概念篇
- Java基础之Http协议的理解与总结 推荐
- PKI架构中常用的证书协议总结
- 常用网络术语 && HTTP协议的几个重要概念 && HTTPS传输协议
- Http协议中的各种长度限制总结
- HTTP协议---HTTP请求中的常用请求字段和HTTP的响应状态码及响应头
- (转)蜜果私塾:http协议学习和总结系列 ——协议详解篇
- HTTP协议的应用与总结
- 关于iphone http上传请求协议的一些总结
- Ext常用问题的总结(转载自http://ext.group.javaeye.com/group/)
- 关于iphone http上传请求协议的一些总结
- HTTP1.1协议常用请求头和响应头内容--精简版