http协议及web通信

HTTP协议

定义

  • HyperText Transfer Protocol超文本传输协议

目的

  • 提供一种发布和接受html的方法

HTTP请求包

请求行

格式:Method Request-URI HTTP-Version CRLF

  • Method 表示请求方法代码
  • Request-URI 是一个统一资源标识符
  • HTTP-Version 表示请求的HTTP协议版本
  • CRLF 表示回车和换行

常见的请求方法

  • GET:请获取Request-URI所标识的资源
  • POST:在Request-URI所标识的资源后附加新的数据
  • HEAD:请求获取有Request-URI所标识资源的响应消息报头
  • PUT:请求服务器存储一个资源,并且用Request-URI作为标识
  • DELETE:请求服务器删除Request-URI所标识的资源
  • OPTIONS:请求查询服务器的性能,或者查询与资源相关的选项和需求

消息报头

一些常见的请求报头

  • User-Agent:包含发出请求的用户信息
  • Accept:指定客户端接受哪些类型的信息。eg:Accept:image/gif,表明客户端希望接受gif图像格式的资源
  • Referer:告诉服务器我是从哪个页面服务器链接过来的
  • Coookie:身份凭证

其他消息报头

  • connection:有关http请求是否保复用(connection:keep-alive/connection:close)
  • accept-enconding:告诉服务器,浏览器支持gzip压缩

请求正文

具体的内容


HTTP响应包

状态行

格式:HTTP-Version Status-Code Reason-Phrase CRLF

  • HTTP-Version:表示HTTP服务器版本
  • Status-Code:表示服务器发回的响应状态码
  • Reason-Phrase:表示状态码的文本描述

常见的状态码

  • 200 OK 客户端请求成功
  • 400 Bad Request 客户端请求有语法错误,不能被服务器所理解
  • 403 Forbidden 服务器收到请求,但是拒绝服务
  • 404 Not Found 请求资源不存在
  • 500 Internal Server Error 服务器发生不可预期的错误
  • 503 Server Unavailable 服务器当前不能处理客户端的请求,一段时间可能恢复正常

消息报头

一些常见的消息报头

  • Server :Web服务器名称
  • Set-cookie: 服务器向客户端发送的信息
  • Location :服务器通过这个头告诉浏览器去访问哪个页面,浏览器接受到这个请求后,通常会立刻访问Location头所指向的页面,通过配合302状态码
  • Refresh :服务器通过这个告诉浏览器定时刷新浏览器

其他消息报头

  • content-type:内容类型
  • X-Frame-Options: 浏览器可不可以加载iframe页面(deny:不能嵌入任何iframe或frame/sameoring:相同域名可以嵌入/allow-from uri:只能被嵌入到uri中)

响应正文


HTTP与HTTPS的区别

  • HTTP的URL是以http://开头;HTTPS的URL是以https://开头
  • HTTP是不安全的;HTTPS是安全的
  • HTTP的标准端口是80;HTTPS的标准端口是443
  • 在OSI网络模型中,HTTP工作在应用层,HTTPS工作在传输层
  • HTTP无需加密,HTTPS对传输的数据进行加密
  • HTTP无需证书,HTTPS需要认证证书

web通信

DNS

  • Domain Name System 域名系统
  • 因特网上作为域名和IP地址相互映射的一个分布式数据库
  • 域名解析:通过主机名最终得到该主机对应IP地址的过程
  • DNS运行在UDP协议之上,使用端口53

步骤(待完善)


URL协议

  • 统一资源定位符

格式

schema://host[:port]/path/.../[?query-string][#anchor]

  • schema 协议
  • host 域名 或 IP
  • :port 端口号
  • path/.../ 路径
  • ?query-string 发送给http服务器的数据
  • anchor 锚点:指向html上的不同元素

web前后端组成

web前端

组成

  • html
  • css
  • java script

web后端

  • web服务
  • 脚本语言
  • 语言解释器
  • 数据库
    常见组合
原文地址:https://www.cnblogs.com/ceiling-/p/14288492.html