http协议总结

HTTP:全称“超文本传输协议”,它是一个应用层的协议,使用端口号80,关键要知道它是一个无状态的协议。

一、这个无状态怎么理解呢?

无状态就是后续处理消息,没有前面的消息。

二、如何解决:

1、cookie
2、session

cookie:
由服务器产生,浏览器收到请求后,保存在本地;浏览器下次请求服务器时,就是带上cookie,这样服务器就知道是谁来请求了,也就做到了有状态;由于cookie大小限制为4096字节,保存在客户端存在安全隐患,因此引入了session;

session:
与cookie的作用类似,只是存在了服务器端,更加的安全。

三、HTTP方法

GET:用户请求已经被URI识别的资源;
POST:将信息传输到服务器,主要功能与get类似,推荐使用post;
PUT:将文件发送到服务器;
HEAD:获得报文首部,与get方法类似,get获取内容,head获取首部;
DELETE:删除文件,与put相反
OPTIONS:查询URI支持的HTTP方法;

常见面试题:
get和post的区别:
1、get的重点是从服务器获取资源,post的重点是向服务器传输信息;
2、get的请求参数在url之后,用户可见,不安全,post的请求封装的http请求实体中,用户不可见,比较安全;
3、get传输的数据量比较小;post传输的数据量比较大;
4、get只支持ASCII字符集,传递中文会乱码;post支持标准字符集,可以正确传递中文。

四、常见的HTTP状态码

200:请求被正常处理;
204:请求被处理,但是没有资源可以返回;

206:客户端只是请求资源的一部分,服务器只对请求的部分资源执行GET 方法,相应报文中通过Content-Range指定范围的资源
301:永久重定向
302:临时重定向

400:请求报文语法错误,服务器无法识别
401:请求需要认证
403:请求对应的资源禁止被访问
404:服务器找不到请求的资源

500:服务器内部错误
503:服务器正忙
重点标粗

五、HTTP状态码中301和302的区别

302的意思是临时重定向:比如我这个网站临时维护(几个小时),需要用户跳转到另一个网站,使用302。
301的意思是永久重定向:比如我这个网址因为某种原因,以后再也不用了,那么使用301。
推荐使用301实现302的场景,因为302存在网址劫持的风险!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值