HTTP详解
一 什么是HTTP协议? HTTP请求有哪几种?
""" HTTP是超文本传输协议(hypertext transfer protocol) 是TCP/IP协议的一个应用层协议,用于定义web与web服务器之间的数据交换过程 客户端链接上服务端后,如想进行数据交换需要遵循一定的通讯格式 HTTP就是用户定义服务端与web端服务器的通讯格式 HTTP的请求: OPTIONS / HEAD / GET / POST / PUT / DELETE / TRACE / CONNECT
"""
''' POST 与 GET的区别 GET请求: 请求的数据会附加在url之后,以?分隔url和数据传输,多个参数用&连接 url的编码格式采用的是ASCII编码,不是uniclde,所有非ASCII字符都要编码之后在传输 POST请求: 请求的数据是以数据包形式传输,GET的请求数据会暴露在地址栏中,而POST不会 传输数据的大小: 在HTTP规范中没有对url的长度和数据传输的大小限制,在实际开发中会进行限制,所以说GET请求时,传输数据会受到url限制 POST不是通过url传输数据,理论上不会受到限制,但是实际上各个服务器会规定对POST提交数据大小进行限制 安全性: POST的安全性比GET的高 效率: GET比POST效率高 POST请求过程: 1.浏览器请求tcp连接(第一次握手) 2.服务器答应进行tcp连接(第二次握手)3..浏览器确认,并发送post请求头(第三次握手) 4.服务器返回100 continue响 5.浏览器开始发送数据 6.服务器返回200 ok响应 GET请求过程: 1.浏览器请求tcp连接(第一次握手) 2.服务器答应进行tcp连接(第二次握手) 3.浏览器确认,并发送get请求头和数据(第三次握手) 4.服务器返回200 OK响应 '''
''' HTTP协议状态码有哪些,分别代表什么含义? 状态码是告诉客户端服务器执行状态,用于判断下一步该执行什么操作 常见状态码: 100-199:表示服务器成功接收部分请求,要求客户端继续提交其余请求才能完成整个处理过程。 200-299:表示服务器成功接收请求并已完成处理过程,常用200(OK请求成功)。 300-399:为完成请求,客户需要进一步细化请求。302(所有请求页面已经临时转移到新的url)。 304、307(使用缓存资源)。 400-499:客户端请求有错误,常用404(服务器无法找到被请求页面),403(服务器拒绝访问, 权限不够)。 500-599:服务器端出现错误,常用500(请求未完成,服务器遇到不可预知的情况)。 '''
''' HTTP 与HTTPS的区别: 1.https需要付费,而http是免费的 2.http是超文本传输协议,是明文传输数据,https是具有安全性的ssl加密传输协议 3.http与https默认使用端口不一样, 前者为80端口, 后者为443端口 4.http的连接比较简单,是无状态的;https协议是ssl+http协议构建的可进行加密传输,需要身份验证的网络传输协议,安全性比http要高 '''
''' http代理和反向代理: http代理: 是代理网络用户去获取网络信息,是网络信息的中转站 作用是可以改善安全性,提高性能,节省费用 反向代理: 代理可以加班web服务器接受发送给web服务器的真实请求,这些代理成为反向代理或替换物 与web服务器不同处在于:反向代理可以发起与其他服务器的通信,以便按需定位所请求的内容 反向代理可以提高访问慢速web服务器上公共内容的性能,还可以将反向代理与内容路由功能结合使用 以创建按需复制内容的分布式网络 '''
''' HTTP协议以及协议头部中表示数据类型的字段 http是超文本传输协议,用于客户端到服务端之间的数据传输 http是基于tcp/ip通信协议来传递数据(html文件, 图片文件, 查询结果等) http是一个属于应用程序层面向对象协议,特点是:简捷,快速,适用于分布式超媒体信息系统 浏览器作为http客户端通过url向http服务端(Web服务器)发送请求,服务器在接受到请求之后,向客户端发送响应请求 表示数据类型的字段是: content-type '''
学习,学习,学习!
学习是为了更好的未来,不要让别人瞧不起你,加油!!!