现在的位置: 首页 > 综合 > 正文

http 简单描述 (40)

2013年12月15日 ⁄ 综合 ⁄ 共 1379字 ⁄ 字号 评论关闭

http request

request line + header + body (header分为普通报头,请求报头与实体报头)
header与body之间有一空行(CRLF)

请求方法有:
Get, Post, Head, Put, Delete等
协议版本1.0、1.1

常用请求头
Accept:浏览器可接受的媒体(MIME)类型;
Accept-Language:浏览器所希望的语言种类
Accept-Encoding:浏览器能够解码的编码方法,如gzip,deflate等
User-Agent:告诉HTTP服务器, 客户端使用的操作系统和浏览器的名称和版本
Connection:表示是否需要持久连接,Keep-Alive表示长连接,close表示短连接

http response

status line + header + body (header分为普通报头,响应报头与实体报头)
header与body之间有一空行(CRLF)

状态响应码
1XX  提示信息 - 表示请求已被成功接收,继续处理
2XX  成功 - 表示请求已被成功接收,理解,接受
3XX  重定向 - 要完成请求必须进行更进一步的处理
4XX  客户端错误 -  请求有语法错误或请求无法实现
5XX  服务器端错误 -   服务器执行一个有效请求失败

一个典型的http请求

GET / HTTP/1.1 (请求行)
Accept: image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*(请求头)
Accept-Language: zh-CN(请求头)
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0)(请求头)
Accept-Encoding: gzip, deflate(请求头)
Host: 192.168.159.188:800(请求头)
Connection: Keep-Alive(请求头)

/*当前是get请求,没有body,如果是post请求的话会有实体*/

一个典型的http应答

HTTP/1.1 200 OK(请求行)
Content-Length: 112(头部)
Connection: Keep-Alive(头部)
Content-Type: text/html(头部)
Server: Muduo(头部)

<html><head><title>This is title</title></head><body><h1>Hello</h1>Now is 20130611 02:14:31.518462</body></html>(实体)

muduo_http库涉及到的类

HttpRequest:http请求类封装
HttpResponse:http响应类封装
HttpContext:http协议解析类
HttpServer:http服务器类封装



抱歉!评论已关闭.