码迷,mamicode.com
首页 > 其他好文 > 详细

HTTP协议

时间:2014-06-12 20:18:32      阅读:328      评论:0      收藏:0      [点我收藏+]

标签:style   class   code   http   ext   color   

Http协议总结

看完Http1.1协议后,大概了解了Http服务器和客户端的交互过程,Http是基于Tcp协议的,客户端连接服务器需要三次握手,通信时客户端发送Request到服务器,服务器接收到Request后处理返回对应的Response回客户端。打开一个网页需要浏览器发送很多次RequestHttp1.1为了加快网页加载速度建立Tcp连接后直到所有资源请求完毕不断开。Http消息结构简单,不过请求头和响应头都比较多。

1.HTTP消息的结构

Request 消息分为3部分,第一部分叫Request line, 第二部分叫Request header, 第三部分是body. headerbody之间有个空行, 结构如下图

bubuko.com,布布扣

第一行中的Method表示请求方法,比如"POST","GET", Path-to-resoure表示请求的资源, Http/version-number 表示HTTP协议的版本号

当使用的是"GET" 方法的时候, body是为空的

esponse消息的结构Request消息的结构基本一样。 同样也分为三部分,第一部分叫Response line, 第二部分叫Response header,第三部分是body. headerbody之间也有个空行结构如下图

bubuko.com,布布扣

HTTP/version-number表示HTTP协议的版本号, status-code状态码 和message状态消息

2.GetPost方法的区别

Http协议定义了很多与服务器交互的方法,最基本的有4种,分别是GET,POST,PUT,DELETE. 一个URL地址用于描述一个网络上的资源,而HTTP中的GET, POST, PUT, DELETE就对应着对这个资源的查,改,增,删4个操作。 我们最常见的就是GETPOST了。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息.

我们看看GETPOST的区别

1. GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456. POST方法是把提交的数据放在HTTP包的Body.

2. GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制.

3. GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值。

4. GET方式提交数据,会带来安全问题,比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码.

3.状态码

HTTP/1.1中定义了5类状态码, 状态码由三位数字组成,第一个数字定义了响应的类别

1XX 提示信息 表示请求已被成功接收,继续处理

2XX 成功 表示请求已被成功接收,理解,接受

3XX 重定向 要完成请求必须进行更进一步的处理

4XX 客户端错误 请求有语法错误或请求无法实现

5XX 服务器端错误 服务器未能实现合法的请求

看看一些常见的状态码

200 OK

最常见的就是成功响应状态码200了, 这表明该请求被成功地完成,所请求的资源发送回客户端

302 Found

重定向,新的URL会在response 中的Location中返回,浏览器将会自动使用新的URL发出新的Request

304 Not Modified

代表上次的文档已经被缓存了, 还可以继续使用,例如打开博客园首页发现很多Response status code 都是304

400 Bad Request 

客户端请求与语法错误,不能被服务器所理解

403 Forbidden 

服务器收到请求,但是拒绝提供服务

404 Not Found

请求资源不存在(输错了URL

500 Internal Server Error 

服务器发生了不可预期的错误

503 Server Unavailable 

服务器当前不能处理客户端的请求,一段时间后可能恢复正常

HTTP协议,布布扣,bubuko.com

HTTP协议

标签:style   class   code   http   ext   color   

原文地址:http://www.cnblogs.com/ojm52pk/p/3781701.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!