Java教程

面试准备——计算机网络(http)

本文主要是介绍面试准备——计算机网络(http),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、各种协议与HTTP协议之间的关系

二、URI(统一资源标识符)

URI用字符串标识某一互联网资源。

 

URI的格式

 

 

  • 协议方案名:指定访问资源时使用的协议类型。
  • 登录信息(认证):可选,指定用户名和密码作为从服务器获取资源时的登录信息(身份认证信息)。
  • 服务器地址:服务器的域名或IP地址。
  • 服务器端口号:可选,省略时使用默认端口号。HTTP协议的默认端口号是80,HTTPS的默认端口号是443。
  • 带层次的文件路径:指定要访问的资源在服务器上存储的文件路径。
  • 查询字符串:可选,传入参数。
  • 片段标识符:可选,标记已获取资源的子资源(文档内的某个位置)。

三、请求报文和响应报文

HTTP报文结构

请求URI的写法

 

 

 四、HTTP方法

HTTP方法的作用为:对请求URI指定的资源下达命令,期望对其产生某种行为。

方法 说明
GET 请求访问URI指定的资源,指定资源经服务器解析后返回响应内容(包括实体首部和实体主体)。
POST POST的只要目的不是获取响应内容,而是向服务器提交一个表单(参数&参数值)。
PUT 传输文件,将请求报文的主体中包含的文件内容保存到请求URI指定的位置,不带验证机制。
DELETE 删除文件,删除请求URI指定的资源,不带验证机制。
HEAD 与GET方法一样,但不返回实体主体。用于确认URI的有效性及资源更新的日期时间等。
OPTIONS 查询对 请求URI指定的资源 支持的请求方法。 
TRACE 追踪路径,在请求连接到源目标服务器的过程中可能会经过一系列的代理中转,TRACE方法可以查询这一系列的中转过程。
CONNECT CONNECT方法要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。主要使用SSL(安全套接层)和TLS(传输层安全)协议把通信内容加密后经网络隧道传输。

五、长连接和短连接

短连接

 

 

 

 

 

 长连接

 

 

 

管线化

 

 

六、状态码

  类别 原因短语 常见状态码
1XX Information 接收的请求正在处理  
2XX Success 请求正常处理完毕

200 OK: 请求成功并返回结果。

204 No Content: 请求成功,但没有结果返回。比如在 PUT 请求中进行资源更新,但是不需要改变当前展示给用户的页面,那么返回 204 No Content。

206 Partial Content: 请求成功并返回结果,对某一资源实体一部分的请求。

3XX Redirection 需要进行附加操作以完成请求

301 Moved Permanently: 永久重定向,请求的资源已被永久性分配到新的URI,以后应使用资源现在所指的URI。也就是说,如果已经把资源对应的URI保存为书签了,这时应该按Location首部字段提示的URI重新保存。

302 Found:临时重定向,请求的资源已被临时分配到新的URI,但是资源不是被永久移动,以后还可能会变。所以不用更改书签,按照新给的URI重新访问即可。

303 See Other:与302功能基本相同,不同的是明确指明应该使用GET方法重新访问资源。比如如果原本是用POST方法访问,收到303时就要把POST改成GET,然后再次访问。

304 Not Modified: 该状态码表示客户端发送附带条件的请求时,服务器端允许访问资源,但是没有满足条件,所以响应也不会有主体部分。

307 Temporary Redirect: 等于302。

4XX Client Error 服务器无法处理请求

400 Bad Request: 请求报文中存在语法错误,服务器无法理解这个请求。

401 Unauthorized: 请求的资源需要认证信息。

403 Forbidden:服务器拒绝对请求资源的访问,一般都是因为权限不足。

404 Not found: 服务器上没有请求访问的资源。

5XX Server Error 服务器处理请求出错

500 Internal Server Error: 服务器在执行请求时出错。

503 Service Unavaliable: 服务器暂时无法处理请求,可能是因为超负载或者正在停机维修。

 

这篇关于面试准备——计算机网络(http)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!