zoukankan      html  css  js  c++  java
  • Http的简单介绍

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

    请求行格式:请求方法 URL 协议版本
    请求头信息与请求主体之间必须要添加CRLF。
    如果是POST请求,则需要增加请求主体内容,此时请求头中必须添加Content-Length信息,标明请求主体信息的内容长度。
    简易GET请求报文内容:
    GET /remote HTTP/1.1
    Host: localhost:1205

    Get请求无请求主体,所以请求主体为空
    简易POST请求报文内容:
    POST / HTTP/1.1
    Host: localhost:1205
    Content-Type: application/x-www-form-urlencoded
    Content-Length:22

    username=xiao&pwd=ming

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

    状态行格式:协议版本 状态码 描述
    简易响应报文:
    HTTP/1.1 200 OK
    Content-Length:22
    Content-Type: application/json

    {"info":"hello world"}
    C#实现如图:
    响应

  • 相关阅读:
    linux ---用uniq实现文件的并集和交集
    vim的.vimrc文件设置
    CURL常用命令
    快速入门系列--MVC--03控制器和IOC应用
    linux下git安装
    openerp child_of操作符深度解析
    apache2 + virtualenv +djangocms
    django-cms安装
    pycharm3.4 下svn 项目checkout&配置
    在django项目外,使用django.db链接数据库(postgres)
  • 原文地址:https://www.cnblogs.com/zzr-stdio/p/11761190.html
Copyright © 2011-2022 走看看