欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

HTTP与HTTP协议

程序员文章站 2024-02-05 10:10:10
...


本篇文章简单普及一些HTTP与HTTP协议的的相关内容。

一、HTTP

1、HTTP介绍
HTTP(超文本传输协议)详细规定了浏览器和万维网服务器之间互相通信的规则,其实就是一套通信规则;
规定了客户端发送给服务器的内容格式,叫请求协议;
也规定了服务器发送给客户端的内容格式,称为响应协议。

2、URL是什么?
统一资源定位符,其实就是一个网址,格式是:“协议名://域名:端口/路径”;
例如:http://www.baidu.cn:80/index.html

二、请求协议

1、请求协议的格式

  • 请求首行;(网址前端,请求方式、请求路径、协议和版本)
  • 请求头信息;(键值对,请求头名称:请求头内容)
  • 空行; (用来与请求体分隔开)
  • 请求体。 (请求的内容, GET没有请求体,只有POST有请求体)

注意:浏览器发送给服务器的内容就这个格式的,如果不是这个格式服务器将无法解读!

2、GET请求
特点:HTTP默认请求方式、没有请求体、请求数据会暴露在地址栏中

常见的GET:1)在浏览器的地址栏中直接给出URL;2)点击页面上的超链接;3)提交表单时,表单默认使用GET请求,但可以设置为POST

3、常见请求头

  • Response Header:响应头
  • Request Header:请求头
  • Accept:服务端能接收的文档类型(有优先级)
  • Accept-Encoding:支持的文档压缩类型
  • Accept-language:能接收的语言
  • Connection:客户端支持的连接方式
  • Content-Type: 表单的数据类型
  • Cookie:一堆无意义的键值对,(请求中把上一次服务器响应中发送过来的Cookie在请求中一并发送去过)
  • Host:域名(主机地址)
  • User-Agent:访问用户的浏览器和主机信息

4、post请求
特点:数据不会出现在地址栏中、 数据的大小没有上限、有请求体
注意:请求体中如果有中文或特殊符号,会使用URL编码
如:%E5%BC%A0%E4%B8%89&password=123

5、修改网页提交方式为post请求

<form action="" method="post">
  用户:<input type="text" name="user"/>
  <input type="submit" value="提交"/>
</form>

三、响应协议

1、响应协议格式
响应首行;
响应头信息;
空行;
响应体。
注意:响应内容是由服务器发送给浏览器的内容,浏览器会根据响应内容来显示。

2、响应信息

HTTP/1.1 200 OK:响应协议为HTTP1.1,状态码为200,表示请求成功,OK是对状态码的解释;


Server:WSGIServer/0.2 CPython/3.5.2:服务器的版本信息; Content-Type;


text/html;charset=UTF-8:响应体使用的编码为UTF-8; Content-Length: 724:响应体为724字节;


et-Cookie: JSESSIONID=C97E2B4C55553EAB46079A4F263435A4;


Path=/hello:响应给客户端的Cookie; Date: Sun, 25 Sep 2020 05:22:04


GMT:响应的时间,这可能会有8小时的时区差;

3、状态码
它能够说明响应的真正含义。
200:请求成功,浏览器会把响应体内容(通常是html)显示在浏览器中;
404:请求的资源没有找到,说明客户端错误的请求了不存在的资源;
500:请求资源找到了,但服务器内部出现了错误;
302:重定向,当响应码为302时,表示服务器要求浏览器重新再发一个请求,服务器会发送一个响应头Location,它指定了新请求的URL地址。