您当前的位置: 首页 >  http

java持续实践

暂无认证

  • 1浏览

    0关注

    746博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

HTTP相关之一

java持续实践 发布时间:2019-09-28 11:27:11 ,浏览量:1

文章目录
      • 一.HTTP的特点
      • 二.HTTP请求和响应结构结构
        • 1. HTTP的请求结构
        • 2. HTTP的响应结构
      • 三.关于HTTP的经典面试题
      • 四.常见HTTP状态码

一.HTTP的特点

超文本传输协议的主要特点

  1. 支持客户端服务端 即C/S模式的

  2. 简单快速 客户端向服务器发送请求时, 只需传递请求方式(POST GET ), 请求url, 请求参数等

  3. 灵活 HTTP允许传输任意类型的数据对象. 传输的类型由Content-Type来区分

  4. 无连接 无连接代表每次请求和响应只处理一次. 服务器处理完请求,并收到应答后, 就断开连接. 这种方式节约了时间. 5.无状态 无状态是指协议对于事务处理没有记忆功能。 缺少状态意味着,假如后面的处理需要前面的信息,则前面的信息必须重传,这样可能导致每次连接传送的数据量增大。 另一方面,在服务器不需要前面信息时,应答就较快。直观地说,就是每个请求都是独立的,与前面的请求和后面的请求都是没有直接联系的。

    实际中的使用情况:

    在web应用中,我们使用http协议,但是我们需要的web是有状态的,因此加入了cookie、session等机制实现有状态的的web。

    web=http协议+状态机制+其他机制

二.HTTP请求和响应结构结构 1. HTTP的请求结构

例如访问百度的请求头信息如下. get请求, 协议为HTTP1.1, 访问主机为www.baidu.com 连接方式为keep-alive

2. HTTP的响应结构

访问百度的响应状态行和头部信息 响应的正文 请求/响应的步骤

  1. 客户端连接到web服务器
  2. 发送HTTP请求
  3. 服务器接收请求并返回HTTP响应
  4. 释放TCP连接
  5. 客户端浏览器解析HTML内容
三.关于HTTP的经典面试题

在浏览器地址栏输入URL, 按下回车后,经历的流程 首先浏览器会根据输入的URL去逐层查询DNS服务器缓存, 解析url对应的ip地址 DNS缓存由近到远依次是 浏览器缓存–> 系统缓存—> 路由器缓存----->ISP缓存(电信营运商缓存)----->根域名服务器缓存------>顶级域名服务器缓存 从哪个缓存找到对应的ip则直接返回, 不再查询后面的缓存. 找到对应的IP地址后, 会根据对应的ip和对应的端口(默认是80端口),与服务器建立TCP连接(TCP的三次握手) 之后, 浏览器发送HTTP请求给服务器,具体发送内容参考上面第二节. 紧接着, 服务器处理请求, 并返回HTTP报文, 把带有html文本给浏览器.浏览器收到html后在前端进行渲染页面. 之后, 浏览器释放TCP连接, 连接结束.

四.常见HTTP状态码

HTTP状态码由三位数组成. 第一位数字定义了响应的类别, 主要有五种类型 1xx: 以1开头的,代表请求已经接受,需要继续处理. 2xx: 以2开头的,成功 —代表请求已经被成功接收,理解和接受 3xx: 以3开头的,重定向----代表请求需要跳转到其他的url进行更进一步的操作 4xx: 以4开头的,客户端错误----代表请求请求有语法错误,或者请求无法完成(例如最常见的404代表该请求无对应的资源) 5xx: 以5开头的, 服务器端错误–一般为后台代码出现异常, 服务器未能实现合法的请求.

实际的常见状态码如下:

关注
打赏
1658054974
查看更多评论
立即登录/注册

微信扫码登录

0.0376s