首页 > 编程知识 正文

【CSDN实训】HTTP与HTTPS以及HTTP协议的请求头与响应头

时间:2023-05-04 18:28:22 阅读:181315 作者:1687

HTTP和HTTPS及HTTP协议的请求头和响应头HTTP和HTTPSHTTP请求头和响应头、请求方式和响应代码请求消息请求行请求头响应消息状态行HTTP响应

HTTP和HTTPS

HTTP )超文本传送协议(HyperText Transfer Protocol )是在因特网上使用得最广泛的网络协议,所有的W3C文件都必须遵守这个标准。 虽然HTTP是以提供发送和接收HTML页的方法为目的而设计的,但是由于协议传送方式以明文形式传送,所以存在安全上的担忧。

HTTP协议连接方式:

的浏览器首先通过网络与服务器建立连接。 此连接通过TCP进行,典型的TCP连接端口号为80。 建立连接后,客户端将以统一资源标识符(uri )、协议版本号和MIME信息包含请求修饰符、客户端信息和许可内容的形式向服务器发送请求。 当服务器接收到请求时,将在状态行中提供相应的响应消息。 这包括消息的协议版本号、成功或错误代码、服务器信息、实体信息和可能的内容。 HTTPS:HTTPS是一个基于HTTP协议的安全版本,HTTPS提供了一系列加密认证完整性保护操作,以确保数据在传输过程中的安全性。 其安全基础是SSL协议。

SSL协议位于TCP/IP协议和各种APP应用层协议之间,安全地支持数据通信。 SSL协议分为两层: SSL记录协议。 SSL Record Protocol构建在可信传输协议(如TCP )之上,支持上层协议的数据封装、压缩和加密等基本功能。 SSL握手协议(SSL Handshake Protocol )构建于SSL记录协议的基础上,为了在实际的数据传输开始之前,通信对方进行认证、加密算法的协商、加密密钥的交换等

HTTP与HTTPS的区别:

1、HTTPS协议需要向证书颁发机构(ca )申请证书,一般免费证书较少,需要一定的费用。 (以前的网络官方网站是http,但网络的邮箱地址是https。 ) )

2、HTTP是超文本传输协议,信息是明文传输,HTTPS是安全的SSL加密传输协议。

3、HTTP和HTTPS使用完全不同的连接方式,使用的端口也不同。 前者是80,后者是443。

4、HTTP连接简单,无状态。 HTTPS协议是通过SSL HTTP协议构建的可加密传输、认证的网络协议,比HTTP协议安全。 (无状态意味着数据包的发送、发送和接收是相互独立的。 无连接意味着通信双方不会长久维持对方的信息。 ) )

HTTP请求报头和响应报头、请求方式和响应代码一段HTTP消息包括三个部分; 消息还可分为请求消息和响应消息。

请求报文包括:请求行请求第一空行请求数据

消息请求行请求行由三个字段组成:请求方法字段、URL字段和HTTP协议版本字段,并用空格分隔。 例如GET /index.html HTTP/1.1。

常见请求方法:

GET:请求指定的页面信息

与33558www.Sina.com/:get请求类似,但返回的响应没有获取标头的特定内容。

HEAD:向指定的资源提交数据进行处理请求。 数据包含在请求体中。

POST

GET和POST的区别:

请求参数对地址栏中显示的参数的长度有限制,不太安全。GET:

请求参数不在地址栏中,而是封装在请求主体中。 参数长度没有限制,更安全的请求标头Accept :浏览器使用此标头通知服务器支持的数据类型

Accept-Charset :浏览器使用此标头告诉服务器要使用的字符集

Accept-Encoding :浏览器使用此标头向服务器传达支持的压缩格式

接受语言:浏览器通过此标题传达服务器所采用的语言

Host :浏览器通过此标头告诉服务器希望访问服务器的哪些主机

If-Modified-Since :浏览器使用此标头告诉服务器缓存数据的时间是多长。

Referer :浏览器通过这个头部告诉服务器我来自哪个页面。 (防盗链) )。

连接:连接方式

响应消息POST:状态行响应首空行请求数据

状态行响应报文包含:

1xx )消息性状态代码,收到的请求正在处理中

2xx )成功状态代码,请求正常处理完成

200 OK :表示服务器已成功处理客户端请求。 204否content :此状态代码表示服务器收到的请求已成功处理,但已返回

响应报文中不含实体的主体部分。206 Partial Content:该状态码表示客户端进行了范围请求,而服务器成功执行了这部分的请求。响应报文中包含由Content-Range指定范围的实体内容。

3xx:重定向状态码,需要进行附加操作以完成请求

301 Moved Permanently:永久性重定向。该状态码表示请求的资源已被分配了新的URI,以后应该使用现在资源所指的URI。302 Found:临时性重定向。该状态码表示请求的资源已被分配了新的URI,希望用户本次能使用新的URI访问。303 See Other:该状态码表示由于请求对应的资源存在着另外一个URI,应使用GET方法定向获取请求的资源。304 Not Modified:该状态码表示客户端发送附带条件的请求时,服务器端允许请求访问资源,但因发生请求未满足条件的情况后直接返回304。304状态码返回时,不包含任何响应的主体部分。304虽然被划分在3XX类别中,但是和重定向没有关系。(附带条件的请求时指采用GET方法的请求报文中包含If-Match、If-Modified-Since、If-Range等任一首部)307 Temporary Redirect:临时重定向。该状态码与302 Found有着相同的含义。

4xx:客户端错误状态码,服务器无法处理请求

400 Bad Request:该状态码表示请求报文中存在语法错误。

401 Unauthorized:该状态码表示发送的请求需要有通过HTTP认证(BASIC认证、DIGEST认证)的认证信息。另外若之前已进行过1次请求,则表示用户认证失败。

403 Forbidden:该状态码表明对请求资源的访问被服务器拒绝了。未获得文件系统的访问授权,访问权限出现某些问题等情况都可能发生403。

404 Not Found:该状态码表明服务器上无法找到请求的资源。除此之外,也可以在服务器端拒绝请求且不想说明理由时使用。

5xx:服务端错误状态码,服务器处理请求出错

500 Internal Server Error:该状态码表明服务器端在执行请求时发生了错误,也有可能是Web应用存在的Bug或某些临时的故障。

503 Service Unavailable:该状态码表明服务器暂时处于超负荷或正在进行停机维护,现在无法处理请求。

HTTP响应头

Location:这个头通常配合302状态码使用,它用于告诉浏览器你去找谁。
Server:告诉浏览器,服务器的类型
Content-Encoding: 服务器通过这个头,告诉浏览器,回送的数据采用的压缩格式。
Content-Length: 返回数据的长度
Content-Language: 返回数据的语言
Content-Type:这个头用于告诉浏览器,回送数据的类型
Last-Modified:这个头用于告诉浏览器,数据的最后修改时间
Refresh: :这个头用于控制浏览器定时刷新
Content-Disposition: 用于通知浏览器,以下载方式打开回送的数据
Transfer-Encoding: 用于通知浏览器,数据是以分块形式回送的
ETag: 缓存相头的头
Expires: 用于说明网页的失效时间,如果该值为一个<0的值,则服务器是通知浏览器不要缓存
Cache-Control: no-cache 通知浏览器不要缓存

感谢您的阅读,如果本篇文章对您有帮助,欢迎点赞,关注,您的阅读是我莫大的鼓励!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。