Http的简单介绍

以前写过一篇使用HttpListener做为简单的HTTP服务器,后面实际项目中就用到了,测试发现,在Win7下若是不是以管理员权限运行程序,使用HttpListener是会出错了。
因此就很好奇HTTP服务器是怎么个回事。也就借此机会熟悉一下HTTP协议的内容,用TCP来实现一遍HTTP客户端和服务端,啥简介的这里就不写了。直接记录一下关键内容。
HTTP请求报文格式:
请求行CRLF
请求头CRLF
CRLF
请求主体json

请求行格式:请求方法 URL 协议版本
请求头信息与请求主体之间必需要添加CRLF。
若是是POST请求,则须要增长请求主体内容,此时请求头中必须添加Content-Length信息,标明请求主体信息的内容长度。
简易GET请求报文内容:
GET /remote HTTP/1.1\r\n
Host: localhost:1205\r\n
\r\n
Get请求无请求主体,因此请求主体为空
简易POST请求报文内容:
POST / HTTP/1.1\r\n
Host: localhost:1205\r\n
Content-Type: application/x-www-form-urlencoded\r\n
Content-Length:22\r\n
\r\n
username=xiao&pwd=ming服务器

C#实现如图:
Get
HTTP响应报文格式
状态行CRLF
响应头CRLF
CRLF
响应主体app

状态行格式:协议版本 状态码 描述
简易响应报文:
HTTP/1.1 200 OK\r\n
Content-Length:22\r\n
Content-Type: application/json\r\n
\r\n
{"info":"hello world"}
C#实现如图:
响应测试

相关文章
相关标签/搜索