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
'''
学习,学习,学习! 学习是为了更好的未来,不要让别人瞧不起你,加油!!!
原文地址:https://www.cnblogs.com/yangyufeng/p/10452722.html