HTTP面试题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP面试题相关的知识,希望对你有一定的参考价值。

一.常见http方法

  get:从指定资源请求数据,可以通过URL传参给服务器。

  post:从指定资源提交要被处理的数据,提交的数据被放在http请求的正文里。用于服务端存储数据,而不允许用户过多更改(主要是相对URL修改麻烦的多)

  put:与post类似但post操作是在一个资源集合之上,而put是具体的某个资源。如果URL可以在客户端确定,那么使用put;如果URL在服务器端确定,使用post。

  delete:删除对应URL上的文件

  head:用于获取报文首部。与get相似,但不返回报文主体,一般用于URL是否有效。

  options:查询响应URL支持的http方法。

二.get与post的区别

  1.get获取,post发送

  2.get传输数据是通过URL请求,以field(字段)= value的形式,置于URL后,并用"?"连接,多个请求数据间用"&"连接,这个过程用户可见;

     post传输数据通过http的post机制,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的;

  3.get传输数据量小,因为受URL长度影响;post一般不做限制;

  4.get相对不安全,因为url是可见的,可能会泄露信息密码等,post安全性较高,因为参数不会被保存在浏览器历史或 web 服务器日志中;

  5.get方式只支持ASCII字符,输入中文可能会乱码;post支持标准字符集,可以正确传递中文字符。

三.http请求报文和响应报文格式

  1.请求报文格式:

    请求行:包含URL,方法,http版本信息

    请求首部信息:包含客户端环境和主体信息。比如指定与连接相关的属性keep-alive(保持tcp连接,下次发送http请求不用建立三次连接)

    请求报文主体:

  2.响应报文格式:

    响应行:http版本信息,包含状态码,状态码描述

    响应首部:包含服务器应用程序信息,响应正文的信息

    响应主体:

四.常见状态码

  200:请求被正常处理

  204:请求被受理但没有资源被返回

  206:请求资源的一部分

  301:永久重定向

  302:临时重定向

  400请求报文语法有误,服务器无法识别

  401请求需要认证

  403请求的对应资源禁止被访问

  404服务器无法找到对应资源

  500:服务器内部错误

  503:服务器正忙

  

以上是关于HTTP面试题的主要内容,如果未能解决你的问题,请参考以下文章

HTTP - HTTP 面试题

大厂2021年,最新整理iOS面试题!

关于面试总结8-http协议相关面试题

Java线程面试题合集(含答案)

腾讯php面试题

HTTP协议经典面试题整理及答案详解