JAVA网络编程期末复习资料 第六章HTTP协议 第七章 URLConnection类
HTTP协议
HTTP协议中,get方法和post方法的区别
- GET一般用于获取/查询资源信息,GET哟用于信息获取时应该是安全的,幂等的
- 安全:该操作用于获取信息而非修改信息。它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态
- 幂等:对同一URL的多个请求应该返回同样的结果
- POST也可用于修改服务器上的资源的请求
区别:
- 数据位置区别
- GET提交:请求的数据会附在URL之后(就是把数据放置在请求行(request line)中),以?分割URL和传输数据,多个参数用&连接;例如:
- login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD
- POST提交:把提交的数据放置在是HTTP包的包体中。上面实例中的红色字体就是实际的传输数据
- GET提交:请求的数据会附在URL之后(就是把数据放置在请求行(request line)中),以?分割URL和传输数据,多个参数用&连接;例如:
- 传输数据的大小区别
- GET:特定浏览器和服务器对URL长度有限制,例如IE对URL长度 的限制是2083字节(2K+35)
- POST:由于不是通过URL传值,理论上数据不受限。但实际各个WEB服务器会规定对post提交数据大小进行限制,Apache、IIS6都有各自的配置
- 安全性区别
- POST的安全性要比GET的安全性高
- GET提交数据,用户名和密码将明文出现在URL上
- 登录页面有可能被浏览器缓存
- 查看浏览器的历史记录,就可以拿到你的账号和密码了
- 使用GET提交数据还可能会造成Cross-site request forgery攻击
- 表单里使用post和get的区别
- 在Form里面,可以使用post也可以使用get。它们都是method的合法取值
- 但是post和get方法在使用双至少有两点不同
- GET方法通过URL请求来传递用户的输入。POST方法通过另外的形式
- GET方式的提交您需要用Request.QueryString来取得变量的值,而POST方式提交时,你必须通过Request.Form来访问提交的内容
什么是cookie?cookie有什么作用
- cookie是浏览器和服务器之间进行状态会话的方式,当浏览器请求服务器上的文件时,服务器将状态信息发送给浏览器,被浏览器以文本文件的方式进行存储
- 当用户下次访问该页面时,服务器从客户端的cookie中读取相应的信息,这样,服务器就能了解浏览器的历史浏览信息,从而实现内容定位和跳转等功能
- 当重新访问该网页时,根据浏览器的操作,服务器会更新保存在浏览器端的cookie
- cookie是一个存储于用户计算机中的变量。
- 可以使用JS来创建和取回cookie的值
- 当用户首次访问某个页面时,使用cookie可以存储用户的用户名,当用户再次访问网站时,可以为用户显示个性化的欢迎信息,或者统计用户的访问次数
- 可以在cookie存储用户信息,也可以在cookie中存储用户的操作数据