一: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请求信息分析)的更多相关文章

  1. javaweb学习总结(十九)——JSP标签

    一.JSP标签介绍 JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. 二.JSP常用标签 ...

  2. 学习笔记:CentOS7学习之十九:Linux网络管理技术

    目录 学习笔记:CentOS7学习之十九:Linux网络管理技术 本文用于记录学习体会.心得,兼做笔记使用,方便以后复习总结.内容基本完全参考学神教育教材,图片大多取材自学神教育资料,在此非常感谢MK ...

  3. python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法

    python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法 同一台机器同时安装 python2.7 和 python3.4不会冲突.安装在不同目录,然 ...

  4. 风炫安全web安全学习第二十九节课 CSRF防御措施

    风炫安全web安全学习第二十九节课 CSRF防御措施 CSRF防御措施 增加token验证 对关键操作增加token验证,token值必须随机,每次都不一样 关于安全的会话管理(SESSION) 不要 ...

  5. 风炫安全WEB安全学习第十九节课 XSS的漏洞基础知识和原理讲解

    风炫安全WEB安全学习第十九节课 XSS的漏洞基础知识和原理讲解 跨站脚本攻击(Cross-site scripting,通常简称为XSS) 反射型XSS原理与演示 交互的数据不会存储在数据库里,一次 ...

  6. (C/C++学习笔记) 十九. 模板

    十九. 模板 ● 模板的基本概念 模板(template) 函数模板:可以用来创建一个通用功能的函数,以支持多种不同形参,进一步简化重载函数的函数体设计. 语法: template <<模 ...

  7. javaweb学习总结(十)——HttpServletRequest对象(一)(转)

    (每天都会更新至少一篇以上,有兴趣的可以关注)转载自孤傲苍狼 一.HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器 ...

  8. Salesforce LWC学习(三十九) lwc下quick action的recordId的问题和解决方案

    本篇参考: https://developer.salesforce.com/docs/component-library/bundle/force:hasRecordId/documentation ...

  9. javaweb学习总结(十)——HttpServletRequest对象(一)

    一.HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象 ...

随机推荐

  1. 使用Python写Windows Service服务程序

    1.背景 如果你想用Python开发Windows程序,并让其开机启动等,就必须写成windows的服务程序Windows Service,用Python来做这个事情必须要借助第三方模块pywin32 ...

  2. 【追寻javascript高手之路05】理解事件流

    前言 新的一天又开始了,我们对今天对未来抱有很大期待,所以开始我们今天的学习吧,在此之前来点题外话,还是爱好问题. 周三的面试虽然失败,但是也是很有启迪的,比如之前我就从来没有想过爱好问题,我发现我的 ...

  3. Linux命令(1)- grep

    1.grep 功能:查找文件里符合条件的字符串. 语法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数& ...

  4. HttpWebRequest结合HtmlAgilityPack实现网页form提交

    年前一个项目,需要在某个系统实现系统自动操作. 系统页面使用form提交,页面参数较多,也参数设计一系列计算逻辑,改动一个值,其他值自动改变. 传统方法使用正则表达式匹配参数,构建post参数进行请求 ...

  5. 1236 hdu排名

    Problem Description 今天的上机考试虽然有实时的Ranklist,但上面的排名只是根据完成的题数排序,没有考虑 每题的分值,所以并不是最后的排名.给定录取分数线,请你写程序找出最后通 ...

  6. jdk、jre与jvm的区别与联系

    为了学习数据库,重装了系统,之前前一直在用eclipse,现在准备换成myeclipse,这之前当然需要重新设置环境变量,顺手写下有关jdk.jre与jvm的区别与联系以供交流参考. 首先来说一下JD ...

  7. OpenWRT添加模块 Makefile和Config.in

    添加模块编译 在网上找了一下,很多关于编译Openwrt系统的资料,不过这些事情芯片厂商提供的开发包都已经办得妥妥了,但是没有找到系统介绍的资料,添加一个包的介绍有不多,其中有两个很有参考价值: ht ...

  8. 前端MVC Vue2学习总结(七)——ES6与Module模块化、Vue-cli脚手架搭建、开发、发布项目与综合示例

    使用vue-cli可以规范项目,提高开发效率,但是使用vue-cli时需要一些ECMAScript6的知识,特别是ES6中的模块管理内容,本章先介绍ES6中的基础与模块化的内容再使用vue-cli开发 ...

  9. ubuntu 开发板ping通虚拟机挂载nfs服务器

    先.nfs服务配置1.设置开发板ip ,同一网段2.开发板上操作:ifconfig eth0 192.168.1.203.测试是否能够ping通:ping 192.168.1.194.测试开发板ip是 ...

  10. requests-模拟登陆

    import requests requests.get('http://httpbin.org/cookies/set/number/123456') response = requests.get ...