• http协议详解


    1. Http协议是怎么工作的

    http协议定义了web客户端如何从web服务器请求web页面,以及服务器如何把web页面传送给客户端

    1.1客户端连接到web服务器
    一个http客户端,通常是浏览器,与web服务器的http(端口默认是80),建立一个TCP套接字连接
    1.2发送http请求
    通过tcp套接字,客户端向web服务器发送一个文本的请求报文,一个请求报文由请求头、请求行、空行以及请求数据四部分组成
    1.3服务器接收到请求并返回http响应
    web服务器解析请求,定位请求资源,服务器将资源复本写到TCP套接字,由客户端读取,一个响应由状态行、响应头部、空行(请求空行)和响应数据(请求体)四部分组成,
    1.4释放连接TCP
    若connection模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接,若connection模式为keepalive,则连接会保持一段时间,在这段时间内可以继续接收请求
    1.5客户端浏览器解析HTML内容

    2. Http协议中的get和post的区别

    2.1从参数传递方面:
    Get请求的参数是直接拼接在地址栏url的后面,post请求的参数是放在请求体中
    2.2从长度方面:
    Get请求有具体的请求大小限制,一般不超过1024bytes,而post理论上没有,但是浏览器一般有界限
    2.3从安全方面:
    Get请求相比较于post,数据明文显示在地址URL中,所以安全性和私密性不如post
    总结:
    从本质上来说,二者都是TCP连接,并无实质上的区别,但是由于http/浏览器的限定,导致他们在应用过程中有一定的区别,Get产生一个数据包,Post产生两个数据包,对于Get请求,浏览器会把http header和data一并发出去,服务器响应200,而对于Post,浏览器会先发送header,服务器会响应100continue,浏览器再发送data,服务器响应200

    3. Http请求方法和响应代码

    注:红叉是比较危险的HTTP方法,错误的配置很容易导致安全问题,一般情况下不建议启用。

  • 相关阅读:
    航班查询http://www.variflight.com/
    打印串口日志
    驱动天使 360驱动大师好用2020
    mysqldMY-010457] [Server] --initialize specified but the data directory has files in it. Aborting. 2020-12
    拖拽刻录
    traceroute排查网络故障 www.qq.com排查网络故障网络不通 先ping自己
    tigervnc报错
    java axis调用带有soap头(soapheader)的.net webservice
    java 调用WebService【转】
    List<String>转换为实体类的属性【转】
  • 原文地址:https://www.cnblogs.com/c-jw/p/13850468.html
Copyright © 2020-2023  润新知