前端面试——HTTP

1.get和post的区别?

  • GET一般用于获取/查询资源信息,而POST一般用于新的资源的建立和/或已有资源的修改。
  • GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456. POST方法是把提交的数据放在HTTP包的Body中。
  • GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制。
  • GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值。
  • GET方式提交数据,会带来安全问题,比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码。

2.介绍一下HTTP?

(1)HTTP的介绍

      HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,负责 web 服务器与 web 浏览器(客户端)之间的通信,包括从 web 客户端(浏览器)向 web 服务器发送请求,并从 web 服务器向 web 客户端返回内容(网页)。HTTP协议工作于客户端-服务端架构上。HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。

(2)HTTP的消息结构

  • 客户端请求消息(4部分):请求行(request line)、请求头部(header)、空行和请求数据
  • 服务器响应消息(4部分):状态行、消息报头、空行和响应正文

(3)请求方法

  • HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法,最为常用的是GET和POST方法
  • HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

(4)HTTP和HTTPS的区别?

      https协议和http有着很大的区别。总的来说,http效率更高,https安全性更高。 HTTPS 负责在 web 服务器和 web 浏览器之间的安全通信。作为有代表性的应用,HTTPS 会用于处理信用卡交易和其他的敏感数据。

  • http和https使用的端口不一样,前者是80,后者是443;
  • http是明文传输,而https协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,更安全。

(5)URL和URI的区别?

  •  URI:Uniform Resource Identifier    统一资源标识符
  •  URL:Uniform Resource Location   统一资源定位符
  •  URN:Uniform Resource Name    统一资源名称
  •  URL和URN是URI的子集,URI是以一种高层次概念定义统一资源标识,而URL和URN则是具体的资源标识的方式。

(6)HTTP状态码

       HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型:

几个常见的状态码:

100 Continue 继续。客户端应继续其请求
200 OK 请求成功。一般用于GET与POST请求
301 Moved Permanently 永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替

400 

Bad Request

客户端请求的语法错误,服务器无法理解

404 Not Found 服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面
405 Method Not Allowed 客户端请求中的方法被禁止
500 Internal Server Error 服务器内部错误,无法完成请求

猜你喜欢

转载自blog.csdn.net/qq_21428081/article/details/82531178