HTTP协议

1.概念:Hyper Text Transfer Protocol 超文本传输协议
    *传输协议:定义了客户端和服务器端通信时,发送数据的格式。
    *特点:
        1.基于TCP/Ip的高级协议
        2.默认端口号:80
        3.基于请求/响应模型:一次请求对应一次响应
        4.无状态的:每次请求之间相互独立,不能交互数据
2.历史版本:
    1.0:每一次请求响应都会建立新的连接
    1.1:复用连接
3.请求消息数据格式
    1.请求行
        请求方式  请求url  请求协议/版本
    2.请求头
    3.请求空行
    4.请求体

    *字符串格式
响应消息:服务器端发送给服务器端的数据
    *数据格式:
        1.响应行
            1.组成:协议/版本  响应状态  状态码描述
            2.相应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态
                1.状态码都是三位数字
                2.分类
                    1.1xx:服务器接收客户端消息,但没有接收完全,等待一段时间后,发送1xx状态码
                    2.2xx:成功。代表200
                    3.3xx:重定向。代表(状态码) 302(重定向) 304(访问缓存)
                        *重定向:客户端向服务器发送请求,但是服务器的某个资源完成不了这个请求,让客户端去请求另一个资源来完成请求。就是一个请求转发的过程。
                        *实现方式:
                            1.告诉浏览器重定向,状态码302
                            2.告诉浏览器B资源的路径,相应头location:B资源的路径
                    4.4xx:客户端错误(请求错误)
                        *代表:
                            *404:(请求路径没有对应的资源)
                            *405:请求方式没有对应的doXxx方法
                    5.5xx:服务器端错误。代表: 500(服务器内部出现异常)
        2.响应头
            1.格式: 头名称 : 值
            2.常见的响应头:
                1.Content-Type:服务器告诉客户端本次响应体数据格式以及编码格式(用于解决乱码问题)
                2.Content-Length:字节的个数
                3.Content-disposition:服务器告诉客户端以什么格式打开响应体数据
                    *in-line:默认值,在当前页面内打开
                    *attachment:filename=xxx; 以附件形式打开响应体。在文件下载时会使用。
        3.响应空行:它的作用是通过一个空行,告诉服务器请求头部到此为止。
        4.响应体:传输的数据
*路径写法:
    1.路径的分类
        1.相对路径:通过相对路径不可以确定唯一资源
            *如: ./index.html
            *不以/开头的路径,以.开头的路径。

            *规则:找到当前资源和目标之间的相对位置关系
                ./表示当前目录
                ../表示后退以及目录
        2.绝对路径:通过绝对路径可以确定唯一 资源
            *如:http://localhost:8080/day15/ResponseDemo1
            *以/开头的路径
            *规则:判断定义的路径是给谁用的?判断请求是从哪发出
                *给客户端浏览器使用:需要加虚拟目录(虚拟目录表示项目的访问路径)
                    *建议虚拟目录动态获取:request.getContextPath()
                    *<a>,<form>,重定向...
                *给服务器使用的:不需要加虚拟目录
                    *转发路径
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我要学好编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值