作者:晨钟暮鼓c
个人微信公众号:程序猿的月光宝盒

1. HTTP相关[1]

1.1 HTTP简介

​ HTTP协议,即超文本传输协议,属于应用层的协议,他是基于请求和响应模式的无状态的 应用层协议.

1.2主要特点

1.2.1 支持 客户/服务器模式(C/S)

1.2.2 简单快速

1.2.3 灵活

1.2.4 无连接 :

​ 限制每次连接只处理一个请求,服务器收到客户的请求,并受到应答之后,就断开连接,以节省传输时间,从http1.1起,默认使用长连接,即服务器需要等待一定时间后才断开连接,以保证连接特性

1.2.5 无状态

1.3 请求/相应的步骤

1.客户端连接到Web服务器

2.发送HTTP请求

3.服务器接收请求并返回HTTP响应

4.释放TCP连接

5.客户端浏览器解析HTML内容

1.4 在浏览器地址栏输入URL,按下回车之后经历的流程

​ 1.DNS解析

​ 2.TCP连接(可以结合三次握手来讲解)

​ 3.发送HTTP请求

​ 4.服务器处理请求并返回HTTP报文

​ 5.浏览器解析渲染页面

​ 6.连接结束(4次挥手)

1.5 常见的HTTP状态码

​ 五种可能的取值

  1. 1xx:提示信息 -- 表示请求已接收,继续处理

  2. 2xx:成功 -- 表示请求已被成功接收,理解,接受

    ​ 200 OK: 正常返回信息

  3. 3xx:重定向 -- 要完成请求必须进行更进一步的操作

  4. 4xx:客户端错误 -- 请求有语法错误或者请求无法实现

    ​ 400 Bad Request: 客户端请求有语法错误,不能被服务器所理解

    ​ 401 Unauthorized: 请求未经授权,这个状态码必须和 WWW-Authenticate报头一起使用

    ​ 403 Forbidden: 服务器收到请求但是拒绝提供服务

    ​ 404 Not Found: 请求资源不存在,或者,输入了错误的URL

  5. 5xx:服务端错误 -- 服务器未能实现合法的请求

    ​ 500 Internal Server Error: 服务器发生不可预知错误,一般是指程序代码错误

    ​ 503 Server Unavailable: 服务器当前不能处理客户端的请求,一段时间后可能恢复正常(连接池满了)

Java每日一面(Part1:计算机网络)[19/11/13]的更多相关文章

  1. Java每日一面(Part1:计算机网络)[19/11/25]

    作者:晨钟暮鼓c个人微信公众号:程序猿的月光宝盒 1. HTTP相关[2] 1.1Get请求和Post请求的区别 从三个层面来回答: 1.1.1 从HTTP报文层面: ​ Get请求将请求信息放在UR ...

  2. Java每日一面(Part1:计算机网络)[19/11/02]

    作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 1.TCP的滑动窗口 1.1 RTT和RTO的区别 ​ RTT:发送一个数据包到收到对应的ACK,所花费的时间 ​ RTO:重传时间间隔,TCP在发 ...

  3. Java每日一面(Part1:计算机网络)[19/10/13]

    作者:晨钟暮鼓c个人微信公众号:程序猿的月光宝盒 1.说说TCP三次握手 1.0 在此之前,什么是TCP? ​ TCP(传输控制协议) ​ 1.面向连接的,可靠的,基于字节流的传输层通信协议 ​ 2. ...

  4. Java每日一面(Part1:计算机网络)[19/10/21]

    作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 1.UDP简介 1.1UDP报文结构: ​ Source Port:源端口 Destination Port:目标端口 Length:数据包长度 C ...

  5. Java每日一面(Part1:计算机网络)[19/10/14]

    作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 1.1 说一说TCP的四次挥手 ​ "挥手",即终止TCP连接,断开一个TCP连接池. ​ 需要客户端和服务端总共发出四个包,以 ...

  6. Java每日一面(Part2数据库)[19/11/28]

    作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 1.如何设计一个关系型数据库 如上图,首先划分成两大部分: ​ 1.存储部分:类似一个文件系统,把数据存储到一个持久化设备中,如机械硬盘,固态等 ​ ...

  7. Java Web学习总结(19)——web.xml配置详解

    1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Servl ...

  8. 【Java每日一题】20161018

    20161017问题解析请点击今日问题下方的"[Java每日一题]20161018"查看 package Oct2016; public class Ques1018 { publ ...

  9. 【Java每日一题】20170106

    20170105问题解析请点击今日问题下方的"[Java每日一题]20170106"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...

随机推荐

  1. react-native android/ios 手动/自动 修改版本号

    目录 一 手动操作 1.Android 2.IOS 二 自动从配置文件读取并写入相应的地方 1.package.json配置版本 2.Android: 3.IOS 添加sell代码 当版本迭代时候要修 ...

  2. Node升级——Node Binary管理模块"n"

    Node.js的开发非常活跃,它的最新稳定版本也频繁变化,你不时会发现,一个模块不能在你当前的Node版本上使用,此时你需要升级Node 幸运的是,可以用一种非常简单的方法来管理你的Node版本,即使 ...

  3. jQuery操作元素对象的样式

    在jQuery中操作元素为了加快速度,或者书写速度,可以用到json的格式: <!DOCTYPE html> <html> <head> <meta char ...

  4. HDU1846 Brave Game(巴什博弈)

    十年前读大学的时候,中国每年都要从国外引进一些电影大片,其中有一部电影就叫<勇敢者的游戏>(英文名称:Zathura),一直到现在,我依然对于电影中的部分电脑特技印象深刻. 今天,大家选择 ...

  5. 2018HDU多校训练一 A - Maximum Multiple

    Given an integer nn, Chiaki would like to find three positive integers xx, yy and zzsuch that: n=x+y ...

  6. 数理统计(一)——用Python进行方差分析

    数理统计(一)——Python进行方差分析 iwehdio的博客园:https://www.cnblogs.com/iwehdio/ 方差分析可以用来推断一个或多个因素在其状态变化时,其因素水平或交互 ...

  7. 国内加速git下载速度

    主要是配置hosts文件 151.101.72.133 assets-cdn.github.com151.101.73.194 github.global.ssl.fastly.net192.30.2 ...

  8. 一篇文章搞明白Integer、new Integer() 和 int 的概念与区别

    基本概念的区分 1.Integer 是 int 的包装类,int 则是 java 的一种基本数据类型 2.Integer 变量必须实例化后才能使用,而int变量不需要 3.Integer 实际是对象的 ...

  9. Servlet还有学习的必要吗?(手工搭建Servlet)

    前言 在初学Java web的时候,就曾听到过这样一种说法: java Web的演变过程大概可以分为4个阶段: jsp + Servlet + jdbc spring + struts2+ hiber ...

  10. IDEA 支持scala开发

    IDEA支持scala开发,需要安装scala插件,并且pom.xml也需要添加对应依赖. 1. 安装scala插件 下载地址:https://plugins.jetbrains.com/plugin ...