• http 协议相关问题


    http 协议相关问题

    来源 https://www.cnblogs.com/lingyejun/p/7148756.html

    1、说一下什么是Http协议?

    对器客户端和 服务器端之间数据传输的格式规范,格式简称为“超文本传输协议”。

    2、什么是Http协议无状态协议?怎么解决Http协议无状态协议?(曾经去某创业公司问到)

    • 无状态协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息
    • 无状态协议解决办法: 通过1、Cookie 2、通过Session会话保存。

    3、说一下Http协议中302状态(阿里经常问)

    • http协议中,返回状态码302表示重定向。
    • 这种情况下,服务器返回的头部信息中会包含一个 Location 字段,内容是重定向到的url。

    4、Http协议有什么组成?

      请求报文包含三部分:

    • 请求行:包含请求方法、URI、HTTP版本信息
    • 请求首部字段
    • 请求内容实体

      响应报文包含三部分:

    • 状态行:包含HTTP版本、状态码、状态码的原因短语
    • 响应首部字段
    • 响应内容实体

    说一下网络传输的过程

    5、Http协议中有那些请求方式?

    • GET: 用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器
    • POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。
    • PUT: 传输文件,报文主体中包含文件内容,保存到对应URI位置。
    • HEAD: 获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。
    • DELETE:删除文件,与PUT方法相反,删除对应URI位置的文件。
    • OPTIONS:查询相应URI支持的HTTP方法。

    6、Http协议中Http1.0与1.1区别?

    • 在http1.0中,当建立连接后,客户端发送一个请求,服务器端返回一个信息后就关闭连接,当浏览器下次请求的时候又要建立连接,显然这种不断建立连接的方式,会造成很多问题。
    • 在http1.1中,引入了持续连接的概念,通过这种连接,浏览器可以建立一个连接之后,发送请求并得到返回信息,然后继续发送请求再次等到返回信息,也就是说客户端可以连续发送多个请求,而不用等待每一个响应的到来。

    7、get与post请求区别?(初级程序员必备问题)

    区别一:

    • get重点在从服务器上获取资源。
    • post重点在向服务器发送数据。

    区别二:

    • get传输数据是通过URL请求,以field(字段)= value的形式,置于URL后,并用"?"连接,多个请求数据间用"&"连接,如http://127.0.0.1/Test/login.action?name=admin&password=admin,这个过程用户是可见的。
    • post传输数据通过Http的post机制,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的。

    区别三:

    • Get传输的数据量小,因为受URL长度限制,但效率较高。
    • Post可以传输大量数据,所以上传文件时只能用Post方式。

    区别四:

    • get是不安全的,因为URL是可见的,可能会泄露私密信息,如密码等。
    • post较get安全性较高。

    区别五:

    • get方式只能支持ASCII字符,向服务器传的中文字符可能会乱码。
    • post支持标准字符集,可以正确传递中文字符。

    9、常见Http协议状态?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    200:请求被正常处理
     
    204:请求被受理但没有资源可以返回
     
    206:客户端只是请求资源的一部分,服务器只对请求的部分资源执行GET方法,相应报文中通过Content-Range指定范围的资源。
     
    301:永久性重定向
     
    302:临时重定向
     
    303:与302状态码有相似功能,只是它希望客户端在请求一个URI的时候,能通过GET方法重定向到另一个URI上
     
    304:发送附带条件的请求时,条件不满足时返回,与重定向无关
     
    307:临时重定向,与302类似,只是强制要求使用POST方法
     
    400:请求报文语法有误,服务器无法识别
     
    401:请求需要认证
     
    403:请求的对应资源禁止被访问
     
    404:服务器无法找到对应资源
     
    500:服务器内部错误
     
    503:服务器正忙

    10、Http协议首部字段?

    a、通用首部字段(请求报文与响应报文都会使用的首部字段)

    • Date:创建报文时间
    • Connection:连接的管理
    • Cache-Control:缓存的控制
    • Transfer-Encoding:报文主体的传输编码方式

    b、请求首部字段(请求报文会使用的首部字段)

    • Host:请求资源所在服务器
    • Accept:可处理的媒体类型
    • Accept-Charset:可接收的字符集
    • Accept-Encoding:可接受的内容编码
    • Accept-Language:可接受的自然语言

    c、响应首部字段(响应报文会使用的首部字段)

    • Accept-Ranges:可接受的字节范围
    • Location:令客户端重新定向到的URI
    • Server:HTTP服务器的安装信息

    d、实体首部字段(请求报文与响应报文的的实体部分使用的首部字段)

    • Allow:资源可支持的HTTP方法
    • Content-Type:实体主类的类型
    • Content-Encoding:实体主体适用的编码方式
    • Content-Language:实体主体的自然语言
    • Content-Length:实体主体的的字节数
    • Content-Range:实体主体的位置范围,一般用于发出部分请求时使用

    11、Http与Https优缺点?

    • 通信使用明文不加密,内容可能被窃听,也就是被抓包分析。
    • 不验证通信方身份,可能遭到伪装
    • 无法验证报文完整性,可能被篡改
    • HTTPS就是HTTP加上加密处理(一般是SSL安全通信线路)+认证+完整性保护

    12、Http优化

    • 利用负载均衡优化和加速HTTP应用
    • 利用HTTP Cache来优化网站

    13、Http协议有那些特征?

    1、支持客户/服务器模式;2、简单快速;3、灵活;4、无连接;5、无状态。

    ===========================

  • 相关阅读:
    hdu 6702 ^&^ 位运算
    hdu 6709 Fishing Master 贪心
    hdu 6704 K-th occurrence 二分 ST表 后缀数组 主席树
    hdu 1423 Greatest Common Increasing Subsequence 最长公共上升子序列 LCIS
    hdu 5909 Tree Cutting FWT
    luogu P1588 丢失的牛 宽搜
    luogu P1003 铺地毯
    luogu P1104 生日
    luogu P1094 纪念品分组
    luogu P1093 奖学金
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/11136214.html
Copyright © 2020-2023  润新知