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面试题的主要内容,如果未能解决你的问题,请参考以下文章