记录下HTTP中的一些琐碎

本文详细介绍了HTTP协议的基础概念,包括其作为TCP协议的应用特性、无状态短连接的特点、HTTP请求与响应的过程,以及GET与POST请求的区别等。同时,还探讨了重定向与转发的工作原理及其区别。

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

最最最开始,http其实是对于tcp协议的一种应用。
http就是每次请求响应的时候都开一次tcp连接,传输完就关闭。所以说http是无状态的短连接(因为一次传输后立马关闭,所以不会有任何状态保存),而tcp是长连接(一般的C/S都是Socket一直保存在服务端的)。

HTTP请求(用户向服务器请求):
1. 方法-URI-协议/版本
2. 请求头
3. 请求主体

请求方法有八种,但是目前只用过post和get,简单说说自己对这两种请求的区别:

    get:参数放在url后面,所有人可见,不安全。由于URL长度受限,所有get带参有限。虽然之前没有碰到过,但是get所有参数使用ASCII编码,而不是Unicode。
    post:所有的参数放在请求主体中,所以稍微安全点。卧槽,才看到,post提交按返回或者刷新键,数据会被重新提交。
    URI是资源相对于项目的相对路径(其实也是可以是绝对路径,就是javaweb里面获得uri是会获得相对路径),URL不仅仅是提供一个路径,还要提供对资源的内容描述。
    具体其他几个也没用过,但是可以去一下连接看看八种请求方式的区别
    http://www.runoob.com/http/http-methods.html

HTTP响应(服务器对用户请求的响应):
1.协议-状态码-描述
2.响应头
3.响应正文

    响应的状态码,2开头是请求成功,3开头是重定向,4开头是客户端出现错误,5开头是服务端出现错误
    说道这里又要说说重定向和转发的区别,其实之前的jsp学习里面有记录,这里再补充
    重定向是客户端行为,相当于再访问另一个网页。response.SendRedirect(),URL地址也会相应改变。本质是客户端发送请求后,服务端再返回响应然客户端访问另外一个网页,注意使用重定向是会丢失本次Request参数的。
    转发是服务器行为,相当于把另一个jsp文件内容移动到当前网页来,request.getResquestDispatcher().forward(req,res)。URL是不会改变的。

HTTP请求规范书上写着是七种,但是网上写的是八种真的坑看的书名字叫《Servlet,Jsp,SpringMVC初学指南》,看来也是坑比了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值