您的位置:首页 > 理论基础 > 计算机网络

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: