zoukankan      html  css  js  c++  java
  • http协议基础知识

    一、http协议简介  

      1、http协议概述

        http协议全称超文本传输协议(HyperText Transfer Protoco),是基于tcp协议的一个应用层协议。主要是定义客户端和服务器端之间交换数据的过程。

      2、http协议版本

        1、版本1.0 :一次请求结束断开连接

        2、版本1.1:一次请教结束之后暂时不断开,下次请求复用连接,如果超过规定时间就会断开链接

      3、http协议请求的基本原则

        1、请求响应模型:有请求才有响应,先请求后响应。

        2、一次请求一次响应,之后才会断开链接。

        3、请求只能由客户端主动发出,服务器端被动响应。

    二、http协议工作过程(得到的数据必须是一次请求一次响应的共同数据)

      1、Http标头信息(主要分为三部分)  

        1、第一部分

          1、请求路径 url统一资源定位符

          2、请求方式 get或者post

          3、状态码  
        2、第二部分

        1、若干请求头部信息
            Accept: text/html  */*           浏览器可以接受的数据类型 所有数据类型
            Accept-Encoding: gzip, deflate       浏览器可以接受的压缩方式
            Accept-Language: zh-CN               浏览器可以识别的语言 
            Connection: Keep-Alive               浏览器的版本信息因为连接断开后是保持连接状态所以判定该浏览器是1.1版本    
            Host: localhost:8080                本次请求的主机名称 端口号
            User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063
                                            浏览器的具体信息与操作系统的判断
              Cache-Control: no-cache           控制是否显示缓存的请求头
              Content-Type: application/x-www-form-urlencoded 表单的请求类型

            Referer: http://localhost:8080/postLogin.html          防盗链,使用Referer 取到从哪里过来的界面,判断是否是我自己的官网--引导到我的主界面
            
            2、get请求方式特征:(http://localhost:8080/ ?username=zhangsan&password=123)
            对于get请求,请求参数放到地址栏后边
            对于get请求,请求不安全(请求参数明文传输)
            对于get请求,请求参数的大小在1kb之内(有的浏览器请求大小在2k之内)
            对于get请求,请求的正文没有任何东西

          3、post请求方式特征:(http://localhost:8080)
                  对于post请求,请求参数写在请求正文中 username=lisi&password=123
                  对于post请求,请求安全
                  请求参数大小没有限制 

          4、Http响应状态码
                      200  请求成功
                      404  请求资源不存在(一般是访问路径错误)
                      500  服务器错误(一般是自己写的代码错误)
                      302  请求重定向
                      304/307 使用了缓存 静态web资源
        3、第三部分请求体信息

      
        

  • 相关阅读:
    c++中的内存管理【转载】
    c++中dynamic_cast、static_cast、reinterpret_cast和const_cast作用
    c++中的顶层const和底层const
    c++赋值操作符需要确保自我赋值的安全性问题
    二分法查找
    Servlet基础总结
    java 正则表达式:有丶东西
    HTTP协议初步认识
    Java synchronized到底锁住的是什么?
    ECMA Script 6新特性之解构赋值
  • 原文地址:https://www.cnblogs.com/xuanan/p/7388186.html
Copyright © 2011-2022 走看看