javaweb学习总结十九(http协议概述以及http请求信息分析)
一:http协议概述
1:http协议定义
2:使用telnet程序连接web服务器,获取资源
3:http协议:超文本传输协议,它是基于tcp/ip协议,就是建立在tcp/ip之上工作的,
http协议前提是必须浏览器与服务器建立连接。
4:http/1.0与http/1.1的区别
telnet连接tomcat服务器演示:
http1.0协议:
只与服务器交互了1次,然后就端口连接。
http1.1协议:
5:浏览器请求服务器端次数问题
一个浏览器访问服务器,首先拿到html页面,然后发现有图片img、js、css等文件时,
会再次发送请求服务器,获取这些资源,所以web网站性能优化应该考虑到这些问题,尽量避免
客户端过多的访问服务器,减轻服务器的负荷。
二:http协议请求信息分析
1:http请求的组成部分
请求行:包括请求方式、请求资源名称、 协议版本号
请求头:请求那台主机以及客户端环境的一些信息
空行:
请求数据:如果请求方式是post,在空行下面会显示请求数据,如果是get请求,请求数据会
显示在请求url地址的后面,url?username="Tom"&password="1234"
2:请求行信息
现在用的比较多的是post和get方式,一般情况下,如果不说明请求方式,例如地址栏输入网址请求、
超链接请求等都是get请求,只有在form表单请求时可以设置method方式为post。
get请求方式请求数据显示在url后面,post方式显示在请求体中,空白行下面。
get方式请求数据有限制,最大为1k,而post方式理论上没有限制。
get方式显示请求数据在地址栏,post方式不显示,所以post方式相对安全。
3:请求头信息
HTTP请求头中含义:
Accept:text/html,image/* :告诉服务器,浏览器可以接受的文件格式
Accept-Charset:iso-8859-1:告诉服务器,浏览器的编码方式
Accept-Encoding:gzip,compress:告诉服务器,浏览器的压缩方式
Accept-Language:en-us,zh-cn:告诉服务器,浏览器语言环境
Host:告诉服务器,浏览器请求主机地址
If-Modified-Since:告诉服务器,浏览器缓存时间,服务器拿这个时间和资源更新时间比较,如果资源更新时间是最近,那么
把服务器数据给浏览器,如果是一样的,那么直接使用缓存数据。
User-Agent:告诉服务器,浏览器的客户机环境
cookie:发送请求到服务器携带的数据
Connection:close/Keep-alive:发送请求后,是断开连接还是保持连接
javaweb学习总结十九(http协议概述以及http请求信息分析)的更多相关文章
- javaweb学习总结(十九)——JSP标签
一.JSP标签介绍 JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. 二.JSP常用标签 ...
- 学习笔记:CentOS7学习之十九:Linux网络管理技术
目录 学习笔记:CentOS7学习之十九:Linux网络管理技术 本文用于记录学习体会.心得,兼做笔记使用,方便以后复习总结.内容基本完全参考学神教育教材,图片大多取材自学神教育资料,在此非常感谢MK ...
- python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法
python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法 同一台机器同时安装 python2.7 和 python3.4不会冲突.安装在不同目录,然 ...
- 风炫安全web安全学习第二十九节课 CSRF防御措施
风炫安全web安全学习第二十九节课 CSRF防御措施 CSRF防御措施 增加token验证 对关键操作增加token验证,token值必须随机,每次都不一样 关于安全的会话管理(SESSION) 不要 ...
- 风炫安全WEB安全学习第十九节课 XSS的漏洞基础知识和原理讲解
风炫安全WEB安全学习第十九节课 XSS的漏洞基础知识和原理讲解 跨站脚本攻击(Cross-site scripting,通常简称为XSS) 反射型XSS原理与演示 交互的数据不会存储在数据库里,一次 ...
- (C/C++学习笔记) 十九. 模板
十九. 模板 ● 模板的基本概念 模板(template) 函数模板:可以用来创建一个通用功能的函数,以支持多种不同形参,进一步简化重载函数的函数体设计. 语法: template <<模 ...
- javaweb学习总结(十)——HttpServletRequest对象(一)(转)
(每天都会更新至少一篇以上,有兴趣的可以关注)转载自孤傲苍狼 一.HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器 ...
- Salesforce LWC学习(三十九) lwc下quick action的recordId的问题和解决方案
本篇参考: https://developer.salesforce.com/docs/component-library/bundle/force:hasRecordId/documentation ...
- javaweb学习总结(十)——HttpServletRequest对象(一)
一.HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象 ...
随机推荐
- Sql建表语句
create table dbo.[Finance_CityInfo] ([CityId] int identity(1,1) not null , [City] nvarchar(20) not n ...
- 第二百五十八天 how can I 坚持
装虚拟机了.CentOs,32位,这电脑装4台能不能带起来啊. 早上,流鼻血了,不知道咋回事.太干了... 明天得早起会,得利索着点,不能托托拉拉的. 还有,今天又忘带钥匙了.悲剧. 睡觉.hadoo ...
- Apache Spark Streaming的适用场景
使用场景: Spark Streaming 适合需要历史数据和实时数据结合进行分析的应用场景,对于实时性要求不是特别高的场景也能够胜任.
- 安装Sublime Text 2插件的方法
1.直接安装 安装Sublime text 2插件很方便,可以直接下载安装包解压缩到Packages目录(菜单->preferences->packages). 2.使用Package C ...
- springboot+maven快速构建项目
最近公司运用springboot构建项目,确实比ssh搭建要快很多.springboot官方学习网站 1.首先要下载maven,用maven管理项目很方便,下载完maven配置好环境,maven我就不 ...
- codeforces 630D Hexagons!
D. Hexagons! time limit per test 0.5 seconds memory limit per test 64 megabytes input standard input ...
- datasnap的前世今生
随着XE6,XE7,以及半年以后即将发布的XE8,DATASNAP将顺应跨平台的需要, 有可能的情况是这样的:XE8,DATASNAP写的中间件将可以运行在LINUX服务器上面. 大家都知道COM是W ...
- 转载 JQuery中attr属性和JQuery.data()学习
转载原地址: http://www.cnblogs.com/yeminglong/p/5405745.html 用html直接data-key来存放,key必须全部小写. <div data-m ...
- VC的文件操作
各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分重要的.本文将对Visua ...
- Visifire的一些使用心得
1.如何让图表的Y轴不从0开始显示:有时一系列的数据差别很小,如果从0开始显示,在Y轴上,会一堆数据都堆在某一个区间.例如期货的蜡烛图.将ViewportRangeEnabled设为true即可解决此 ...