HTTP协议

本文详细介绍了HTTP协议的基础概念,包括浏览器与服务器之间的通信流程、请求与响应数据包的组成,并阐述了Servlet如何处理HTTP协议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.什么是http协议?

    http协议是w3c(万维网联盟)组织制定的一种应用层协议,规定了浏览器与web服务器之间如何通信以及通信的数据格式

2.浏览器与服务器之间如何通信?

    1)建立连接
    2)HttpServletRequest接收请求
    3)HttpServletResponse响应请求
    4)关闭连接
    一次请求一次连接(一次交互),web服务器可以利用有限的连接为尽可能多的客户端服务。l

3.请求数据包组成?

    1)请求方式+请求资源u+协议版本
        GET  /sayHi  HggTTP/1.1
    2)消息头(若干)n
     消息头是一些键值对,一般由w3c定义。通信双方通过消息头来传递一些特定的含义,比如浏览器可以通过消息头来发送User-Agent来告诉服务器浏览器的类型和版本。大部分自动生成,有时也需要自己添加消息头。
        Host:localhost
        Connection:Keep-Alive
        User-Agent:Mozilla/4.0
        Accept:image/gif,image/jpef

    3)实体内容
        只有当请求方式为post请求时,实体内容才有数据(即请求参数)
        (Empty body)

4.响应数据包组成?

    1)状态行
        协议类型+版本+状态码+状态描述
        HTTP/1.1  200  ok
    2)消息头
        web服务器返回一些消息头给浏览器,比如,返回Content-Type消息头给浏览器,告诉浏览器返回的数据类型和字符集 
        Data:...
        Server:Apache/2.0.45
        Last-Modified:...
        Content-Length:105
        Content-Type:text/html
    3)实体内容
        程序处理的结果
        <html>
            <head>
                <title>sayHi</title>
            </head>
            <body>
                <h1>Hello World</h1>
            </body>
        </html>

5.servlet如何处理http议?

1)如何控制通信数据?
    当浏览器发送请求给服务器时,服务器接收到http请求,通信数据有web服务器封装和提供。这些信息会被解释为2个对象。
    与请求数据相关的请求对象HttpServletRequest
    与响应数据相关的响应对象HttpServletResponse

2)HttpServletRequest类型对象
    HttpServletRuquest类型对象代表客户端请求,客户端通过http协议访问服务器时,客户端所有的请求消息都封装在了这u个对象中,通过这个对象的方法可以获取相关的请求数据。
    比如:
    a.读取和写入http请求数据(请求行、消息头)d
    b.取得和设置Cookies
    c.取得路径信息
    d.标识http会话
    e.实现请求转发
3)HttpServletResponse类型对象
    HttpServletResponse类型对象代表给客户端的响应,封装了http的响应数据,通过这个对象可以设置状态行、消息头、实体内容。
    比如:
    a.设置对客户端的输出内容
    b.设置响应的状态行
    c.设置浏览器的解码方式
    d.设置Cookies
    e.实现重定向
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值