zoukankan      html  css  js  c++  java
  • 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方法,错误的配置很容易导致安全问题,一般情况下不建议启用。

  • 相关阅读:
    IntelliJ IDEA 编译方式介绍
    IntelliJ IDEA 缓存和索引介绍和清理方法
    无线鼠标没反应了
    L1-039 古风排版 (20 分)
    L1-043 阅览室 (20 分)
    数学思想
    输入
    2018年湘潭大学程序设计竞赛 E 吃货
    问题 1936: [蓝桥杯][算法提高VIP]最大乘积
    指针 链表
  • 原文地址:https://www.cnblogs.com/c-jw/p/13850468.html
Copyright © 2011-2022 走看看