HTTP协议学习

1、什么是HTTP协议?

HTTP是超文本传输协议,是基于TCP/ip协议之上实现的用于客户端和服务器之间数据传输的一种协议

2、什么是HTTP协议的无状态?怎么解决HTTP协议的无状态?

HTTP协议的无状态:协议对于事务的处理没有记忆能力。说白了就是客户端每次发送请求都认为是一个新的请求,上一次的会话与下一次的会话没有联系。

解决:使用cookie或者session来保持会话

3、HTTP支持的方法有哪些?

一共有8种请求方法

GET:获取资源,常用于向服务查询某些信息

POST:提交数据,常用于新资源的创建或已有资源的修改

PUT:发送数据取代指定的内容

DELETE:删除指定的资源

HEAD:用于获取报文头

OPTIONS:查看服务器的性能信息

TRACE:回显服务器收到的请求,用于测试和诊断

CONNECT:HTTP/1.1中预留给能够将连接改为管道方式的代理服务器

4、GET 与 POST的区别

  • GET主要是获取数据,POST是发送数据
  • GET 传输数据是通过URL,以key=value的方式传输,并且在浏览器地址栏能让用户直接看见;POST 则是将请求参数放到请求实体中,整个过程对用户不可见
  • GET的传输数据量小,受URL长度的限制;POST的传输量大,上传文件只能使用post的方式
  • GET传递中文需要进行编码处理,而post支持标准字符集,可以传递中文

5、HTTP请求报文与响应报文的格式

请求报文组成:

  • 请求行:包含请求方法  URI  HTTP版本信息
  • 请求头部
  • 空行
  • 请求内容实体

响应报文组成:

  • 状态行:包含HTTP版本  状态码  状态原因
  • 响应头部
  • 空行
  • 响应内容实体

6、HTTP1.0与HTTP1.1的区别

  • http 1.0使用非持久连接,一个连接只能完成一次web传输,http 1.1 通过在请求头增加Connection: keep-alive 来保持连接来传输多个请求和响应
  • HTTP 1.1 增加了请求头HOST域
  • HTTP1.1 增加了PUT/DELETE/OPTIONS/TRACE/CONNECT请求方法
  • 新增100状态码,客户端事先发送一个只带头域的请求,如果服务器因为权限拒绝了请求,就回送响应码401(Unauthorized);如果服务器接收此请求就回送响应码100,客户端就可以继续发送带实体的完整请求了。100 (Continue) 状态代码的使用,允许客户端在发request消息body之前先用request header试探一下server,看server要不要接收request body,再决定要不要发request body
  • HTTP1.1新增了一些cache新特性

7、从输入一个新的网址到用户完全看到页面,这期间都发生了什么?

1. 浏览器通过DNS查询域名的IP地址

2. 基于TCP建立连接

3. 浏览器向服务器发送HTTP请求

4. 服务器返回HTTP响应

5. 浏览器解析HTTP响应内容,将内容渲染到浏览器上

6. TCP连接关闭

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值