• 自定义Web框架


    http协议

    HTTP简介

    HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。

    HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

    HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。

    HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

     

    HTTP特点

    1、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

    2、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

    3.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

    4.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

    (1) 基于TCP/IP

    http协议是基于TCP/IP协议之上的应用层协议。

    (2) 基于请求-响应模式

    HTTP协议规定,请求从客户端发出,最后服务器端响应该请求并 返回。换句话说,肯定是先从客户端开始建立通信的,服务器端在没有 接收到请求之前不会发送响应

     无状态保存

    HTTP是一种不保存状态,即无状态(stateless)协议。HTTP协议 自身不对请求和响应之间的通信状态进行保存。也就是说在HTTP这个 级别,协议对于发送过的请求或响应都不做持久化处理。

     

    无连接

    无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

     

     

    请求协议

    请求格式

     

     

     

    请求方式: get与post请求

    • GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditBook?name=test1&id=123456. POST方法是把提交的数据放在HTTP包的请求体中.
    • GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制.
    • GET与POST请求在服务端获取请求数据方式不同。

    get方式发送的请求的信息会显示在你的 url后面  就是你的界面中的最上部的对方  我们这样有助于更加直接的观看

    响应协议

    响应格式

    响应状态码

    状态码的职 是当客户端向服务器端发送请求时, 返回的请求 结果。借助状态码,用户可以知道服务器端是正常 理了请求,还是出 现了 。状态码如200 OK,以3位数字和原因 成。数字中的 一位指定了响应 别,后两位无分 。响应 别有以5种。

    HTTP请求协议

    请求协议遵照以下格式:

    请求首行;        // 请求方式 请求路径 协议和版本,例如:GET /index.html HTTP/1.1
    请求头信息;      // 请求头名称:请求头内容,即为key:value格式,例如:Host:localhost
    空行;           // 用来与请求体分隔开
    请求体。         // GET没有请求体,只有POST有请求体。

    浏览器发送给服务器的内容就这个格式的,如果不是这个格式服务器将无法解读!在HTTP协议中,请求有很多请求方法,其中最为常用的就是GETPOST

    两种协议的实现方式:

    http协议
       
        浏览器----服务器
        
        
        s="yangbin---24---shandong" 
        
        
    请求协议(浏览器--->服务器)
       "
       请求首行:请求方式 url 请求协议 
       请求头  : key:value
       ......
       
       请求体
       "
  • 相关阅读:
    可翻页查看(more、less)
    在CentOS 6.0下面永久关闭SELinux和防火墙
    Linux(CentOS 6.4)设置VNC远程桌面连接
    CentOS Linux防火墙配置及关闭
    ubuntu12.04循环登录,无法进桌面的问题
    转载 vi替换windows换行符为linux换行符
    sublime忽略打开工程中某些文件夹,不在搜索之列
    erl_0021 erlang和java的内存模型比较(引用)
    erl_0020 《面对软件错误构建可靠的分布式系统》读书笔记001 “面向并发COPL”
    erl_0019《硝烟中的erlang》 读书笔记005 “进程信息"
  • 原文地址:https://www.cnblogs.com/zhaoyunlong/p/9208136.html
Copyright © 2020-2023  润新知