欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

http超文本传输协议

发布时间:2023/12/15 编程问答 45 豆豆
生活随笔 收集整理的这篇文章主要介绍了 http超文本传输协议 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

http简介

超文本传输协议(HyperText Transfer Protocol),详细规定浏览器和万维网之间互相通信的规则,是万维网交换信息的基础,允许将HTML文档从Web服务器传送到Web服务器。

HTTP是无状态的协议,Web浏览器和Web服务器之间不需要建立持久的连接

HTTP基于TCP/IP协议传递数据(HTML文件、图片文件、查询结果)

HTTP工作原理

HTTP协议工作于CS架构上,浏览器作为HTTP客户端通过URL向WEB服务器发送请求。
Web服务器:Apache服务器、IIS服务器
HTTP的默认端口是80,可以改为其它端口
HTTP注意事项

  • HTTP是无连接的:每次连接只处理一个请求
  • HTTP是媒体独立性:任何类型的数据都可以通过HTTP发送
  • HTTP是无状态的:对于事务处理没有记忆,

HTTP请求与响应

HTTP请求

  • 请求行(请求方法):HTTP请求的第一行,格式为 请求类型/请求的域名路径/使用的HTTP版本号
  • 请求头(消息头):其中的HOST代表请求主机地址,User-Agent代表浏览器标识,
  • 请求正文:可选,出现在POST请求方式中。

HTTP请求方法
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200810092248588.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxODA3MjYx,size_16,color_FFFFFF,t_

GET:GET方法用于获取请求页面的指定信息。如果请求资源为动态脚本(非HTML),那么返回文本是Web容器解析后的HTML源代码。GET请求没有消息主体,因此在消息头后的空白行是没有其他数据。

POST:POST方法也与GET方法相似,但最大的区别在于,GET方法没有请求内容,而POST是有请求内容的。

HTTP响应

HTTP/1.1 200 OK //响应行 Date: Sun, 15 Nov 2015 11:02:04 GMT //响应头 Server: bfe/1.0.8.9 Content-Length: 2605 Content-Type: application/javascript Cache-Control: max-age=315360000 Expires: Fri, 13 Jun 2025 09:54:00 GMT Content-Encoding: gzip Set-Cookie: H_PS_PSSID=2022_1438_1944_1788; path=/; domain=test.com Connection: keep-alive//空白行,代表响应头结束 <html> <head><title> Index.html </title></head> //响应正文消息主题
  • 响应行:HTTP版本(HTTP/1.1)、状态码(200)、消息OK
  • 响应头:由服务器向客户端发送的HTTP头
  • 响应正文:服务器向客户端发送的HTML数据

HTTP响应头信息

HTTP状态与会话

HTTP状态码
浏览器接收并显示网页前,网页所在的服务器会返回包含HTTP状态码的信息头用以响应浏览器的请求。
五种状态码:

  • 1xx:信息提示,表示请求已被成功接收,继续处理。
  • 2xx:请求被成功提交。
  • 3xx:客户端被重定向到其他资源。
  • 4xx:客户端错误状态码,格式错误或者不存在资源。
  • 5xx:描述服务器内部错误。

常见的状态码描述如下:

  • 200:客户端请求成功,是最常见的状态。
  • 302:重定向。
  • 404:请求资源不存在,是最常见的状态。
  • 400:客户端请求有语法错误,不能被服务器所理解。
  • 401:请求未经授权。
  • 403:服务器收到请求,但是拒绝提供服务。
  • 500:服务器内部错误,是最常见的状态。
  • 503:服务器当前不能处理客户端的请求。

会话ID可以通过一种称之为Cookie的技术在请求消息中进行传递,也可以作为请求URL的附加参数进行传递。会话ID是WEB服务器为每客户端浏览器分配的一个唯一代号,它通常是在WEB服务器接收到某个浏览器的第一次访问时产生,并且随同响应消息一道发送给浏览器。

URL

HTTP的统一资源定位符将从因特网获取信息的五个基本元素包括在一个简单的地址中:

http://user.pass@www.example.com:80/dir/index.html?uid=1#ch1
  • 传送协议。
  • 层级URL标记符号(为[//],固定不变)
  • 访问资源需要的凭证信息(可省略)
  • 服务器。(通常为域名,有时为IP地址)
  • 端口号。(以数字方式表示,若为HTTP的默认值“:80”可省略)
  • 路径。(以“/”字符区别路径中的每一个目录名称)
  • 查询。(GET模式的窗体参数,以“?”字符为起点,每个参数以“&”隔开,再以“=”分开参数名称与数据,通常以UTF8的URL编码,避开字符冲突的问题)
  • 片段。以“#”字符为起点

Web服务器

WEB你可以简单理解为你所看到的HTML页面就是WEB的数据元素,处理这些数据元素的应用软件就叫WEB服务器
WEB服务器:Apache、IIS、Nginx(也是反向代理服务器)

应用服务器

处理的是非常规性WEB页面(JSP文件),它动态生成WEB页面,生成的WEB页面在发送给客户端(实际上当应用服务器处理完一个JSP请求并完成JSP生成HTML后它的任务就结束了,其余的就是WEB处理的过程了)
应用服务器:Tomcat、Weblogic、Jboss

总结

以上是生活随笔为你收集整理的http超文本传输协议的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。