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. netty系列之:真正的平等–UDT中的Rendezvous

    目录 简介 建立支持Rendezvous的服务器 处理不同的消息 节点之间的交互 总结 简介 在我们之前提到的所有netty知识中,netty好像都被分为客户端和服务器端两部分.服务器端监听连接,并对 ...

  2. vue/cli的目录结构说明

    node_modules:npm 加载的项目所需要的各种依赖模块. src:这里是我们开发的主要目录(源码),基本上要做的事情都在这个目录里面,里面包含了几个目录及文件: 1.assets:放置一些图 ...

  3. Solution -「ZJOI 2016」「洛谷 P3352」线段树

    \(\mathcal{Descrtiption}\)   给定 \(\{a_n\}\),现进行 \(m\) 次操作,每次操作随机一个区间 \([l,r]\),令其中元素全部变为区间最大值.对于每个 \ ...

  4. Solution -「HAOI 2018」「洛谷 P4491」染色

    \(\mathcal{Description}\)   Link.   用 \(m\) 种颜色为长为 \(n\) 的序列染色,每个位置一种颜色.对于一种染色方案,其价值为 \(w(\text{出现恰 ...

  5. 麦克风阵列波束形成之DSB原理与实现

    语音识别有近场和远场之分,且很多场景下都会用到麦克风阵列(micphone array).所谓麦克风阵列是一组位于空间不同位置的麦克风按一定的形状规则布置形成的阵列,是对空间传播声音信号进行空间采样的 ...

  6. Nginx服务器SSL证书安装

    操作场景 本文档指导您如何在 Nginx 服务器中安装 SSL 证书. 说明: 本文档以证书名称 www.domain.com 为例. Nginx 版本以 nginx/1.16.0 为例. 当前服务器 ...

  7. ☕Java 面向对象进阶内容

    目录 == 和 equals 方法 封装 多态 抽象类和抽象方法 抽象方法 抽象类 抽象类的使用要点 接口 接口使用 内部类 String 字符串常量拼接时的优化 String Pool String ...

  8. RFC2889MAC地址学习速率——网络测试仪实操

    一.简介 RFC 2889为LAN交换设备的基准测试提供了方法学,它将RFC 2544中为网络互联设备基准测试所定义的方法学扩展到了交换设备,提供了交换机转发性能(Forwarding Perform ...

  9. 一文带你秒懂商业智能BI的价值所在!

    首先,先来跟大家解释说明一下什么是商业智能?这应该也是刚刚接触商业智能的小伙伴最想要了解的问题,平时刷微博.看头条时都会看到数据可视化.数据分析和大数据等词汇时,但是对它们如同熟悉的陌生人一般,那么这 ...

  10. github push时提示Username for 'https://github.com' 解决办法

    问题 github push时在输入账号密码后仍提示:Username for 'https://github.com',需要进一步输入账号密码. 解决方案 注意这里的账号密码并不是github的登录 ...