1.HTTP协议是什么?web
协议是指计算机通讯网络中两台计算机之间进行通讯所必须共同遵照的规定或规则,HTTP(超文本传输协议)是互联网上用得最普遍的一种网络协议,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。数组
2.发送HTTP请求?浏览器
当你浏览器地址栏中输入URL,回车后就发起了HTTP请求安全
URL(统一资源定位符)也被称为网页地址,是互联网标准的地址服务器
protocol :// hostname[:port] / path / [;parameters][?query]#fragment网络
协议://主机名[:端口号]/路径/[;参数][?查询]#信息片段ide
例如:http://www.xxser.com/post/httpxieyi.heml就是个标准的URLpost
3.HTTP请求和响应?网站
HTTP请求:包括三部分:请求行(请求方法)、请求头(消息报头)、请求体(请求正文)编码
HTTP响应:也包括三部分:响应行、响应头(消息报头)、响应体(响应正文、消息主题)
4.HTTP请求方法:
最多见的有GET和POST
HTTP的请求方式有GET、POST、opions、Put、Head、Delete、Trace、Connect
5.HTTP状态码
当客户端发送HTTP请求,服务端接受后会像客户端发送响应消息,其中响应的第一行中最重要的一点就是HTTP的状态码,内容以下:
HTTP/1.1 200 ok
这的状态码为200,在HTTP协议中表示请求成功,HTTP协议中状态码由三位数组成,第一位数定义了响应的类别,且只有如下五种响应:
(1) 1XX 提示信息 - 表示请求已被成功接收,继续处理,范围在100-101
(2) 2XX 成功 - 表示请求已被成功接收,理解,接受,范围在200-206
(3) 3XX 重定向 - 重定向状态码用于告诉浏览器客户端,它们访问的资源已被移动,并告诉客户端新的资源地址位置。这时,浏览器将从新对新资源发起请求,范围在300-305
(4) 4XX 客户端错误状态码 - 有时客户端发送一些服务器没法请求的东西,好比格式的错误 请求,或者最多见的请求一个不存在的URL。 范围在400-415
(5) 5XX 服务器端错误 - 有时候客户端发送了一条有效的请求,但web服务器自身出错了,多是web服务器运行出错了,或者说网站挂掉了,5XX是用来描述服务器内部错误的,范围在500-505
常见得状态码以下:
200:客户端请求成功 302:重定向
404:请求资源不存在 400:客户端请求有语法错误,不能被服务器所理解
401:请求未经受权 403:服务器收到请求,但拒绝提供服务
500:服务器内部错误,是最多见的状态 503:服务器当前不能处理客户端的请求,一段时间后可能恢复正常
6.GET和POST区别(官方答案)
get参数经过url传递,post放在request body中
get请求在url中传递的参数是有长度限制的,而post没有
get比post更不安全,由于参数直接暴露在url中,因此不能用来传递敏感信息。
get请求只能进行url编码,而post支持多种编码方式
get请求会浏览器主动cache,而post支持多种编码方式
get请求参数会被完整保留在浏览历史记录里,而post中的参数不会被保留
GET和POST本质上就是TCP连接,并没有差异。可是因为HTTP的规定和浏览器/服务器的限制,致使他们在应用过程当中体现出一些不一样
GET产生一个TCP数据包;POST产生两个TCP数据包