4.1、什么是http

http(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。

文本:无链接

超文本:利用超链接将普通文本的信息组织在一起的超级文本

4.2、http两个时代的区别
  1. 1.0时代:客户端与web服务器连接后,只能请求一个资源,然后断开连接
  2. 1.1时代:客户端向web服务器连接后,可以请求多个资源
4.3、http请求(以百度为例)

客户端--请求--服务器

常规

请求 URL: https://www.baidu.com/?tn=44048691_1_oem_dg
请求方法: GET
状态代码: 200 OK
远程地址: 36.152.44.96:443
引用站点策略: no-referrer-when-downgrade

请求

Accept: text/html  请求的数据类型
Accept-Encoding: gzip, deflate, br 阶码
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6 语言
Cache-Control: max-age=0 缓存控制
Connection: keep-alive 是否保持连接
Host: www.baidu.com 主机
  1. 请求行:请求的域名端口号+请求方式

    • get:少量参数,大小有限制,传输速度快(在3G时代下),数据会在URL地址栏中显示,安全性低
    • post:多个参数,大小无限制,传输速度慢(在3G时代下,现在基本可以忽略),数据不会在URL地址栏中显示,安全性高

    消息头

    Accept   告诉浏览器,支持的数据类型
    Accept-Encoding 支持的编码格式
    Accept-Language 语言环境
    Cache-Control 缓存控制
    Conneciton 请求完成时断开还是保持连接
4.4、http响应

服务器--响应--客户端

常规

请求 URL: https://www.baidu.com/?tn=44048691_1_oem_dg
请求方法: GET
状态代码: 200 OK
远程地址: 36.152.44.96:443
引用站点策略: no-referrer-when-downgrade

响应

Bdpagetype: 2
Bdqid: 0xe274578b0000447d
Cache-Control: private 缓存控制
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html;charset=utf-8
  1. 响应体

    Accept   告诉浏览器,支持的数据类型
    Accept-Encoding 支持的编码格式
    Accept-Language 语言环境
    Cache-Control 缓存控制
    Conneciton 请求完成时断开还是保持连接
    Refresh 刷新间隔
    Location 让网页重新定位
  2. 响应状态码:

    • 200:请求响应成功
    • 3xx:请求重定向
    • 4xx(404):找不到资源
    • 5xx(500):服务器代码错误

JavaWeb——Http的更多相关文章

  1. 从啥也不会到可以胜任最基本的JavaWeb工作,推荐给新人的学习路线(二)

    在上一节中,主要阐述了JavaScript方面的学习路线.先列举一下我朋友的经历,他去过培训机构,说是4个月后月薪过万,虽然他现在还未达到这个指标. 培训机构一般的套路是这样:先教JavaSE,什么都 ...

  2. JavaWeb——Servlet

    一.基本概念 Servlet是运行在Web服务器上的小程序,通过http协议和客户端进行交互. 这里的客户端一般为浏览器,发送http请求(request)给服务器(如Tomcat).服务器接收到请求 ...

  3. JavaWeb——Listener

    一.基本概念 JavaWeb里面的listener是通过观察者设计模式进行实现的.对于观察者模式,这里不做过多介绍,大概讲一下什么意思. 观察者模式又叫发布订阅模式或者监听器模式.在该模式中有两个角色 ...

  4. .JavaWeb文件上传和FileUpload组件使用

    .JavaWeb文件上传 1.自定义上传 文件上传时的表单设计要符合文件提交的方式: 1.提交方式:post 2.表单中有文件上传的表单项:<input type="file" ...

  5. javaWeb应用打包

    在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下:

  6. JavaWeb——tomcat安装及目录介绍

    一.web web可以说,就是一套 请求->处理->响应 的流程.客户端使用浏览器(IE.FireFox等),通过网络(Network)连接到服务器上,使用HTTP协议发起请求(Reque ...

  7. 做JavaWeb开发不知Java集合类不如归家种地

    Java作为面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储.但是使用数组存储对象方面具有一些弊端,而Java 集合就像一种容器,可以动态地把多个对象的引用放入容 ...

  8. JavaWeb基础学习体系与学习思路

    对于JAVAWEB的学习,首先一定要明确的是学习整体框架和思路,要有一个把控.对于WEB,很多人认为是做网页,简单的把静态网页与JAVAWEB与网页设计一概而论. 拿起一本JS就开始无脑的学习,学了一 ...

  9. Eclipse下配置javaweb项目快速部署到tomcat

    用惯了VS,再用Eclipse,完全有一种从自动挡到手动挡的感觉啊. 很多同学在Eclipse下开发web项目,每一次修改代码,看效果的时候都有右键项目->Run as -> Run on ...

  10. javaweb学习笔记之servlet01

    一.Servlet概述 A servlet is a small Java program that runs within a Web server. Servlets receive and re ...

随机推荐

  1. STP的究极进化MSTP

    MSTP多生成树协议 1.MSTP概述 2.MSTP相关配置命令 1.MSTP是一个公有生成树协议,在实际生产环境中得到了广泛的应用. PVST是思科私有的,它能让多实例,多VLAN可以进行负载均衡, ...

  2. MySQL日志管理、备份与恢复

    MySQL日志管理.备份与恢复 目录 MySQL日志管理.备份与恢复 一.MySQL日志管理 1. MySQL日志路径 2. 设置.修改日志路径 3. 查询日志功能是否开启 二.MySQL备份与恢复 ...

  3. sublime运行错误

      这是由于没有保存文档导致   说明: [Finished in 19.4s with exit code 1]-表示执行时间 [shell_cmd: python3 -u "/Volum ...

  4. pytest(10)-常用执行参数说明

    pytest单元测试框架中可以使用命令行及代码pytest.main()两种方式执行测试,且可以加入各种参数来组织执行测试.接下来我们来了解常用的执行参数的含义及其用法. pytest中的执行参数根据 ...

  5. MySQL基于GTID的组复制(MGR)

    环境准备 IP 主机名 操作系统 192.168.131.129 mgr-node1 CentOS7.6 192.168.131.130 mgr-node2 CentOS7.6 192.168.131 ...

  6. Large Sacle Distributed Deep Networks

    本文是谷歌发表在NeurIPS 2012上的一篇论文,主要讨论了在几万个CPU节点上训练大规模深度网络的问题,并提出了一个名为DistBelief的软件框架.在该框架下实现了两种大规模分布式训练算法: ...

  7. Python "爬虫"出发前的装备之一正则表达式

    1. 正则表达式 正则表达式是一种模板表达式语言 通过定义规则去匹配.查找.替换.分割一个长字符串中特定的子字符信息. 如在一篇文章中查找出所有合法的电子邮箱地址,则可以先用正则表达式定义一个电子邮箱 ...

  8. java 人机猜拳 游戏

    人机猜拳-游戏 掌握类和对象的使用,掌握方法的定义和返回值,掌握封装的运用 定义一个电脑类:Computer.java 点击查看[Computer.java]代码 /** * @Title: 电脑类 ...

  9. k8s搭建监控:安装metrics server和dashboard

      安装metrics server 参考:https://github.com/kubernetes-sigs/metrics-server kubectl  create -f component ...

  10. k8s中运行busybox

    简介 参考百度百科 BusyBox 是一个集成了三百多个最常用Linux命令和工具的软件. BusyBox 包含了一些简单的工具,例如ls.cat和echo等等,还包含了一些更大.更复杂的工具,例gr ...