代码改变世界

[计算机基础]HTTP协议学习笔记

2014-05-11 22:40  hellenism  阅读(264)  评论(0编辑  收藏  举报

HTTP:Hypertext transfer protocol
超文本传输协议
是一种详细规定了浏览器和Internet之间互相通信的规则

HTTP允许传输任意类型的数据对象,由Content-Type做标记
HTTP协议是无状态协议,无状态是指协议对于事务处理没有记忆能力,缺少
状态意味着如果后续处理需要前面的信息,必须重传

 


一次HTPP请求需要给服务端发送【请求方法】和【路径】

请求方法有:
GET:请求服务器指定的信息,并且返回实体
POST:把请求数据封装到请求体重,提交到服务器对特定的资源进行获取
HEAD
PUT
DELETE
OPTIONS
TRACE
MOVE
COPY

 

GET,POST的区别:
参考:
http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html
http://zhidao.baidu.com/link?url=eTavETXJS1CifHJR3mr0Dtn2Ohsc4QNKNx4koUiQY1r2fpQPH5ppTaBuPX4qem8B_T0mcEps2Di1psZT7gYt9q

 

1.GET,POST,PUT,DELETE都能对服务器资源进行增删改查,而只是HTTP协议中建议使用对应请求方法进行对应操作而已
2.HTTP协议规定GET只能获取服务器中的资源,而POST可以创建/修改服务器中的资源
3.GET方法把请求参数以键值对的形式与URL一起发送到指定的服务器,
POST方法把请求的参数放入到HTTP头或者HTTP消息体中,向服务器请求资源
4.GET方法安全性较低,因为请求参数可见,并且对于请求的大小有限制,
POST方法安全性较高,请求数据不可见,并且请求大大小不受限制


HTTP协议规定了HTTP请求和HTTP响应的结构
参考:
http://blog.csdn.net/zhangliang_571/article/details/23508953
http://www.oschina.net/question/565065_81309
http://blog.csdn.net/kfanning/article/details/6062118

 

HTTP请求报文介绍:
一个HTTP请求报文由3部分组成:
请求行(Request Line)
请求头(Request Header)
请求体(请求数据)

 

请求行:
请求行由【请求方法】字段【URL】字段和【HTTP协议版本】3个字段组成
例如:
GET /index.html HTTP/1.1

 

请求头:
请求头由关键值对组成,每行一对。请求头定义了客户端请求的信息
例如:
User-Agent:发起请求的浏览器类型
Accept:客户端可识别的内容类型
Content-Type:
Content-Lenght:

 

空行:
最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头

 

请求体:
请求数据不在GET方法中使用,而在POST方法中使用。

 


HTTP响应报文介绍:
一个HTTP响应报文由3部分组成:
状态行
消息头
响应体

 

状态行:
HTTP-VERSION Status-Code Reason-Phrase CRLF

HTTP-VERSION:表示服务器HTTP协议的版本
Status-Code:表示服务器发回的响应状态代码
Reason-Phrase:表示状态代码的文本描述

 

消息头:与请求头一致
响应体:与请求体一致