【网络原理】:HTTP、HTTP方法、HTTP的Header、HTTP的状态码

HTTP

一、HTTP协议

HTTP协议处于应用层, HTTP协议就是客户端和服务器交互的⼀种通迅的格式。HTTP的诞⽣主要是为了能够让⽂档之间相互关联,形成超⽂本可以互相传阅。

二、认识URL

在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL(Uniform Resource Locator,统一资源定位符),它是WWW的统一资源定位标志,就是指网络地址

  1. URL由三部分组成:资源类型、存放资源的主机域名、资源文件名。也可认为由4部分组成:协议、主机、端口、路径。
  2. 语法格式:
    URL的一般语法格式为:
    (带方括号[]的为可选项):

protocol : // hostname[:port] / path / [;parameters][?query]#fragment

(1) protocol(协议): 指定使用的传输协议,下表列出 protocol 属性的有效方案名称。 最常用的是HTTP协议,它也是WWW中应用最广的协议。
(2) hostname(主机名): 是指存放资源的服务器的域名系统(DNS) 主机名或 IP 地址。有时,在主机名前也可以包含连接到服务器所需的用户名和密码(格式:username:password@hostname)。
(3)port(端口号):整数,可选,省略时使用方案的默认端口,各种传输协议都有默认的端口号,如http的默认端口为80。如果输入时省略,则使用默认端口号。有时候出于安全或其他考虑,可以在服务器上对端口进行重定义,即采用非标准端口号,此时,URL中就不能省略端口号这一项。
(4)path(路径):由零或多个“/”符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。
(5)parameters(参数):这是用于指定特殊参数的可选项。
(6)query(查询):可选,用于给动态网页(如使用CGI、ISAPI、PHP/JSP/ASP/ASP。NET等技术制作的网页)传递参数,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开。
(7)fragment(信息片断):字符串,用于指定网络资源中的片断。例如一个网页中有多个名词解释,可使用fragment直接定位到某一名词解释。
在这里插入图片描述

三、Web通信过程

  1. DNS:负责解析域名
    我们访问⼀个⽹⻚的时候,往往是通过域名来访问的www.xxxx.site ,⽽计算机通信只认的是我们的主机地址(192.168.xxx.xxx),因此,当我们输⼊域名的时候,需要DNS把域名解析成主机地址来进⾏访问。
  2. HTTP:产生请求报文数据
    当我们对Web页面进行操作的时候,就会产⽣HTTP报⽂数据,请求对应的服务端进⾏响应。
    在这里插入图片描述
  3. TCP协议:分割HTTP数据,保证数据运输。
    TCP协议采⽤了三次握⼿的⽅式来保证数据的准确运输,在运输的数据的时候,发送标识过去给服务器,服务器也返回标识给客户端,⽽客户端收到消息后再次返回标识给服务器。这样⼀来就保证了数据运输是可靠的。
  4. IP协议:传输数据包,找到通信目的地地址。
    IP协议把我们的产⽣的数据包发送给对⽅, IP地址指明了节点被分配的地址,但IP地址可能会变换, 我们可以使⽤ARP协议来将IP地址反射为MAC地址。 MAC地址是不会更改的,是⽹卡所属的固定地址。
    在找到通信⽬的地之前, 我们是需要不断的中转的,这过程我们称作为: “路由中转”,我们并不知道路由中转了多少次的。因此是不能全⾯了解到互联⽹中的传输状况的。

四、HTTP的方法

在这里插入图片描述
常用方法:GET方法和POST方法
GET方法和POST方法的区别:
在这里插入图片描述
客户端浏览器会把GET请求的数据,默认放在URL上,POST请求的数据,可以放在请求体中。

五、HTTP常见Header

  1. Content-Type: 数据类型(text/html等)
    告诉对端,接收数据的类型,对端应该按照对应的格式处理数据。
  2. Content-Length:Body的长度
    告诉对端,请求体/响应体的长度(根据长度读取数据)。
  3. Host:客户端告知服务器,所请求的资源是在哪个主机的哪个端口上。
  4. User-Agent:声明用户的操作系统和浏览器版本信息。
  5. referer:当前页面是从哪个页面跳转过来的。
  6. location:搭配3xx状态码使用,告诉客户端接下来要去哪里访问。
  7. Cookie:用于在客户端存储少量信息.通常用于实现会话(session)的功能。

六、HTTP的状态码

HTTP状态码由三个十进制数字组成,第一个十进制数字定义 了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型:
在这里插入图片描述
在这里插入图片描述
此链接讲解很细致:
https://www.runoob.com/http/http-status-codes.html

七、HTTP请求数据传输流程

(1)发送数据报:浏览器将url、 请求的数据内容包装为http协议的数据报
(2)数据封装:往网络分层下4/3层发送数据,后续就是网络数据报封装的过程
(3)主机接收数据报:发送到对应的主机,进行分用,基于数据链路层、网络层、传输层在系统中进行分用解析,最后把http协议的数据报发送到对应端口—> tomcat应用程序
(4) tomcat解析http协议的数据,返回http协议的响应数据
(5)浏览器解析响应数据报:根据Content -Type进行处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值