Java学习笔记之--------HTTP协议

本文深入解析了HTTP协议,包括其在网络应用层的位置、如何在客户端与服务器间建立连接、请求与响应模型,以及状态码含义。重点介绍了HTTP请求与响应的格式,包括请求方式、URL、协议版本、请求头和响应头的详细内容。
摘要由CSDN通过智能技术生成

协议

协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。

不同层之间定义不同的协议:

应用层:HTTP、FTP、TELNET、SNMP、DNS。

传输层:TCP、UDP。

网络层:IP。

HTTP(HyperText Transfer Protocol 超文本传输协议)是网络应用层的协议,建立在TCP/IP协议基础上。HTTP协议使用可靠的TCP连接,默认端口为80。

HTTP协议简介

用户打开web浏览器(常见的HTTP客户端),输入URL地址,就能接收到远程HTTP服务器端发送过来的网页,即HTTP遵循请求(Request)/应答(Response)模型。Web浏览器向web服务器发送请求,web服务器处理请求并返回适当的应答。所有HTTP连接都被构成一套请求和应答。

HTTP客户端和浏览器分别由不同的软件开发商提供,它们都可以用任意的编程语言编写。如用.net编写的客户端与用Java编写的服务器顺利通信,就必须遵守HTTP协议,这样才能彼此都懂对方发送的消息,HTTP协议严格规定了HTTP请求和HTTP响应的数据格式。

HTTP请求格式

HTTP协议规定,请求由三部分组成:

请求方式、URL(统一资源定位符)、HTTP协议/版本

请求头(Request Header)

请求正文(Request Content)(post方式才存在请求正文)

HTTP相应格式

HTTP协议规定,响应与请求一样,由3部分组成,分别是:

HTTP协议版本,状态代码,描述

响应头(Response Header)

响应正文(Response Content)

HTTP响应分析

1.HTTP协议版本,状态代码,描述

HTTP应答码也成为状态码,它反映了web服务器处理HTTP请求状态。HTTP应答码由3位数字构成,其中首位数字定义了应答码的类型:

1XX:信息类(Information),表示收到web浏览器请求,正在进一步的处理中。

2XX:成功类(Successful),表示用户请求被正确接收、理解和处理。

3XX:重定向类(Redirection),表示请求没有成功,客户必须采取进一步的动作。

4XX:客户端错误(Client Error),表示客户端提交的请求有错误。

5XX:服务器错误(Server Error),表示服务器不能完成对请求的处理。

常见的HTTP应答码:

200,OK;400,Bad Request;404,Not Found;405,Method Not Allowed。

2.响应头(Response Header),响应头和请求头一样包含许多有用的信息,例如服务器类型、日期时间、正文类型和正文长度等。

Server:Apache Tomcat/6.0.12

Date:Mon,6 Oct 2018 16:12:25 GMT

Content-Type:text/html; charset=utf-8

 

Last-Modified:Mon,6 Oct 2018 16:12:25 GMT

Content-Length:12

常见类型:

Content-Type:text/html; charset=GBK

Content-Type:text/plain; charset=utf-8

Content-Type:application/octet-stream

3.相应正文(Response Content),就是服务器返回的HTML页面。

响应头和响应正文之间必须存在CRLF(\r\n)符号行(CRLF Carriage Return Linefeed 是指回车符和行结束符),与响应头分开。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值