我的Java开发生涯记(18)——关于HTTP相关问题 - Go语言中文社区

我的Java开发生涯记(18)——关于HTTP相关问题


2019.8.7著

相信很多人在面试的过程中都或多或少接触过http协议相关的面试问题,今天我也在百度上学习了一下,下面总结给大家,希望能给大家带来帮助。

 

HTTP协议简介

HTTP(超文本传输协议)是应用层上的一种客户端/服务端模型的通信协议,它由请求和响应构成,且是无状态的。

  • 协议

        协议规定了通信双方必须遵循的数据传输格式,这样通信双方按照约定的格式才能准确的通信。

  • 无状态

        无状态是指两次连接通信之间是没有任何关系的,每次都是一个新的连接,服务端不会记录前后的请求信息。

  • 客户端/服务端模型

        请求与响应

 

五层网络模型

分别分为

1.HTTP:应用层

2.TCP:传输层

3.IP:网络层

4.数据链路:数据链路层

5.物理介质:物理层

 

URL构成

https://www.xxx.com/index.html?name=xx&age=18

https://为协议

www.xxx.com为主机

index.html为路径

name=xx&age=18为参数

 

协议内容

请求(Request)

客户端发送一个HTTP请求到服务端的格式:

  • 请求行

  • 请求头

  • 请求体

示例:

 

 

响应(Response)

服务端响应客户端格式:

  • 状态行

  • 响应头

  • 响应体

示例:

 

状态码

HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型。HTTP状态码共分为5种类型:

更详细的状态码可查看 HTTP状态码

一般我们只需要知道几个常见的状态码即可,如:200,300,400,401,403,404,500,502,503

 

请求方法

截止到HTTP1.1共有下面几种方法:

 

请求和响应常见通用头

 

 

Content-Type,内容类型,一般是指网页中存在的Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件。

常见的媒体格式类型如下:

 

以application开头的媒体格式类型:

 

常见请求头:

 

常见响应头:

 

 

总结

清楚的知道这些内容,不仅仅是为了应对面试官,而是能实实在在的提高自己的效率,这一点在前后端联调接口最明显,当你在应用中去请求其他接口或转发请求时这些也是要知道的。不然出现问题的概率会大大提高。他能觉得你是属于野生程序还是属于正规军!!!

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_43908950/article/details/98742729
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-04-19 14:38:27
  • 阅读 ( 941 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢