美文网首页
HTTP了解一下

HTTP了解一下

作者: 灰灰是只小贱狗 | 来源:发表于2018-05-07 13:08 被阅读12次

    什么是HTTP

    HTTP协议工作于客户端-服务端架构上的。
    浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。
    Web服务器有:Apache服务器,IIS服务器(Internet Information Services)等。
    Web服务器根据接收到的请求后,向客户端发送响应信息。
    HTTP默认端口号为80,但是你也可以改为8080或者其他端口。

    HTTP三点注意事项:

    • HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
    • HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。
    • HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

    以下图表展示了HTTP协议通信流程:

    cgiarch
    小结

    HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。
    HTTP"客户端",通过连接到服务器达到向服务器发送一个或多个HTTP的请求的目的。
    HTTP"服务器",通过接收客户端的请求并向客户端发送HTTP响应数据。


    客户端请求消息

    客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)请求头部(header)空行和请求数据四个部分组成,下图给出了请求报文的一般格式。

    下面是一个实际的请求报文:


    实际的请求报文.jpg

    ①是请求方法,GET和POST是最常见的HTTP方法.

    ②为请求对应的URL地址,它和报文头的Host属性组成完整的请求URL.

    ③是协议名称及版本号。

    ④是HTTP的报文头,报文头包含若干个属性,格式为“属性名:属性值”,服务端据此获取客户端的信息。

    ⑤是报文体,它将一个页面表单中的组件值通过param1=value1&param2=value2的键值对形式编码成一个格式化串,它承载多个请求参数的数据。

    更为详细的HTTP请求报文

    服务器响应消息

    HTTP响应也由四个部分组成,分别是:状态行消息报头空行响应正文

    httpmessage

    HTTP请求方法

    GET
    POST

    比较GET方法和POST方法本质上的区别:
    1、GET方法用于信息获取,它是安全的(安全:指非修改信息,如数据库方面的信息),而POST方法是用于修改服务器上资源的请求;

    2、GET请求的数据会附在URL之后,而POST方法提交的数据则放置在HTTP报文实体的主体里,所以POST方法的安全性比GET方法要高;

    3、GET方法传输的数据量一般限制在2KB,其原因在于:GET是通过URL提交数据,而URL本身对于数据没有限制,但是不同的浏览器对于URL是有限制的,比如IE浏览器对于URL的限制为2KB,而Chrome,FireFox浏览器理论上对于URL是没有限制的,它真正的限制取决于操作系统本身;POST方法对于数据大小是无限制的,真正影响到数据大小的是服务器处理程序的能力

    菜鸟HTTP

    注:所写文章均为作者自己的学习笔记,不做任何其他参考价

    相关文章

      网友评论

          本文标题:HTTP了解一下

          本文链接:https://www.haomeiwen.com/subject/tkbmrftx.html