网络那点事--浓缩的HTTP.
来源:互联网 发布:cad快速看图mac破解版 编辑:程序博客网 时间:2024/05/16 17:21
我们经常会在浏览器地址栏中输入"http://",却从来没有思考它背后的意义,作为一个Web的开发人员,我们需要直到关于HTTP的那些事儿.
HTTP(HyperText Transfer Protocol,超文本传输协议)是一种应用层协议,专门负责超文本的传输,用通俗的话来说就是Web信息传输.HTTP由两部分组成:请求(Request)和响应(Respone).当输入一个URL时,浏览器将根据这个URL创建并发送请求,请求中会携带一些信息,这些信息将是我们关注的焦点.而当服务器端接收到请求之后,也会返回同一个响应.
一.HTTP请求
HTTP请求信息由3部分组成:请求行,消息报头,请求正文,请求的的格式:
<request-line><headers><blank line>[<request-body>]
请求行以一个方法符号开偶,以空格分隔,后面跟着请求的URL和协议的版本,格式如下:
Method Requset-URL HTTP-Version CRLF
请求行各部分说明如下:
Method:表示请求方法,请求方法以大写形式显示.常用的请求方式有两种,Get--请求获取Request-URL所标识的资源,POST-在Request-URL所标识的资源后附加新的数据.
Request-URL:表示统一资源标识符
HTTP-Version :表示请求的HTTP协议版本.
CRLF:表示回车和换行,除了作为结尾的CRLF外,不允许出现单独的CR或LF字符.
请求行后是消息报头部分,用来说明服务器需要调用的附加信息.
在消息报头后是一个空行,然后才是请求正文部分,即称为主体部分(body).
二.HTTP响应
HTTP响应也由3部分组成:状态行,消息报头,响应正文.HTTP响应格式如下:
<status-line><headers><blank line?[<response-body>]
其中状态行格式如下:
HTTP-Version Status-Code Reason-Phrase CRLF
状态行的个别说明该如下:
HTTP-Version:表示服务器HTTP协议的版本.
Status-Code:表示服务器发回的响应状态代码.
Reason-Phrase:表示状态代码的文本描述.
状态代码有3位数字组成,第一个数字定义响应的类别,且有5种可能取值:
1.1xx:指示信息.表示请求已接收,继续处理.
2.2xx:成功,表示请求已被成功接收,继续处理.
3.3xx:重定向.要完成请求必须进行更进一步的操作.
4.4xx:客户端错误,请求有语法错误,或者请求无法实现.
5.5xx:服务器端错误.服务器未能实现合法的请求.
- 网络那点事--浓缩的HTTP.
- 网络开始的那点事
- 网络、线程、UI的那点事
- 关于网络层的那点事
- 网络同步的那点事
- 软件工程师的视角看网络(网络那点事)
- 软件工程师的视角看网络(网络那点事)
- 软件工程师的视角看网络(网络那点事)
- 软件工程师的视角看网络(网络那点事)
- 软件工程师的视角看网络(网络那点事)
- Android HTTP和HTTPS那点事
- 测试那点事----http 错误
- 网络那点事情
- 男的那点事
- 质数的那点事
- printk的那点事
- 拓展的那点事
- 装修的那点事
- 23种设计模式(10):命令模式
- ubuntu 12.04 LVM 安装
- Qt窗口屏幕居中显示
- webView 播放SWF 引起call to OpenGL ES API with no current context错误
- Active MQ
- 网络那点事--浓缩的HTTP.
- ::MessageBox 非模态对话框
- 第十六周阅读程序2
- 线程的终止
- Spring Security学习总结一
- Linux下g++编译C++连接oracle(OCCI)出现的问题及解决方式
- Effective C++ 条款总结 读书笔记(一)
- Android 服务器推送技术
- 链表面试题小结(待完成)